目前,我将组件呈现在 .erb 文件中,如下所示:
<%= react_component('Counter', number: @counter) %>
该组件具有使用以下功能的功能promised-xhr
:
push: function(operation) {
if(operation) {
new_number = this.state.number +1;
} else {
new_number = this.state.number -1;
}
// This call works.
// this.setState({number: new_number})
XHR.post("/update", {
data: {
count: new_number
}
}).then(function(response) {
// XHR.post is successful, so I can log the response.
console.log(response.body.number);
// But setState does not work because of 'this'
this.setState({number: reponse.body.number})
})
}
this.setState({number: response.body.number)}
不起作用,因为this
不再是组件。我打算用它React.findDOMNode(this.refs.myComponent)
来查找我的组件并触发新状态。
但是,我不知道如何使用react_component
ref 将 ref 分配给我的 Counter 组件。