Ich habe viele Beiträge zu diesem Problem gelesen, etwas über this.setState
ist ein asynchroner Aufruf, so dass es nicht jedes Mal neu gerendert wird. Wie nähere ich dieses Problem den folgenden Zusammenhang gegeben:setState nicht in Funktionsaufruf aktualisieren
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>
)
Ich habe versucht, zu bind
nennen die onClick wie onClick={@choose.bind(@)}
aber es scheint, dass dies bereits tut automatisch reagieren. Wie stelle ich den Zustand in choose()
richtig ein, nachdem ich auf den Knopf geklickt habe?
LÖSUNG: Dies ist die untergeordnete Komponente, die eine übergeordnete Komponente aufruft, so dass die state
irgendwo dort verloren gegangen ist. Alles, was ich zu tun hatte, war, die id
von der Elternkomponente als Requisiten anzurufen und auf sie zuzugreifen.
Sie verwenden this.state.page nirgendwo in Ihrem Beispiel, so ist es ein bisschen schwer zu wissen, was nicht funktioniert. – tobiasandersen
Das könnte gut funktionieren, was funktioniert nicht? In Ihrem Render, wenn Sie 'console.log (this.state.page)' zeigt es nicht die ID, die Sie wollen? – John