0
我讀過很多關於這個問題的文章,關於this.setState
的東西是一個異步調用,所以它不會每次都重新渲染。怎樣運用給出下面的背景下,這個問題:setState在函數調用中沒有更新
getInitialState:() ->
return {
page: ""
}
choose: (event) ->
console.log(@props.id) # This is the correct id that I want to pass into state
@setState({
page: @props.id # @state.page isn't being set to @props.id
})
render:() ->
return (
<button onClick={@choose}>Click me</button>
)
我試圖bind
中的onClick調用諸如onClick={@choose.bind(@)}
但似乎已經做出反應自動執行此操作。點擊按鈕後,如何正確設置choose()
中的狀態?
解決方案:這是調用父組件的子組件,因此state
在那裏丟失了某處。我所要做的就是調用父組件的id
作爲道具,並通過它訪問它。
你沒有使用你的榜樣this.state.page任何地方,所以這是一個有點很難知道什麼是不工作的。 – tobiasandersen
這應該可以正常工作,什麼不工作?在你的渲染,如果你'console.log(this.state.page)'它不顯示你想要的ID? – John