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

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 (
    <>
    

{count}

) }

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

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

你可能感兴趣的:(React常见问题(持续更新...))