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
网友评论