美文网首页
React常见问题(持续更新...)

React常见问题(持续更新...)

作者: Ken宣霖 | 来源:发表于2020-07-28 18:02 被阅读0次

    1、setState是异步的,如何合并多次setState,并且都生效

    this.setState((state, props) => {...})
    

    传递函数即可,state,props参数是可以拿上上一次的。当然你也可以使用回调,不过嵌套多了的话,你懂的

    this.setState({...}, () => {
      this.setState({...})
    })
    

    2、react-hooks中如何拿到上一次的值

    function App() {
      let [count, setCount] = useState(0)
      let lastState = useRef(count)
      
      let plus = () => {
        lastCount.current = count
        console.log(lastCount.current)  // 获得count上一次的值
        setCount(count + 1)
      }
    
      return (
        <>
        <p>{count}</p>
        <button onClick={plus}>+</button>
        </>
      )
    }
    

    3、react-hooks如何模拟从前的生命周期

    useEffect(() => {
      // do...
      return () => {}  // return一个函数模拟componentWillUnmount
    }, [])  // 传入空数组模拟componentDidMount
    

    相关文章

      网友评论

          本文标题:React常见问题(持续更新...)

          本文链接:https://www.haomeiwen.com/subject/qgqqrktx.html