1
如何在調用setState之後強制在React中進行狀態更新?React:如何強制setState後發生狀態更改
據我所知,下次調用render的時候狀態會有效更新。此外,forceUpdate()
應該重新渲染組件並立即更新狀態更改,對吧?然而,這似乎並非如此。這是一個例子。
handleSomeEvent(data) {
this.setState({
data: data
})
this.forceUpdate()
// At this point state should be updated but it isn't
this.props.consumeData(this.state.data) // consumeData will receive old data
}
如何確保在調用consumeData之前實際更新狀態?
這被認爲是安全的,好的做法,或可將其導致看不見的副作用嗎? –
這是安全的,AFAIK。但它可能不是最佳做法,因爲建議使用應用程序級別狀態(使用redux)。因此,您可能可以避免將'consumeData'作爲父項的通道傳遞。 – zvona