在Angular2 +中,对于绑定问题有简单的解决方案,我们ngModel用于在各种输入和自定义控件上进行双向绑定,但是在我看来,reactJs支持单向绑定问题。请描述ReactJ中双向绑定的最佳实践。
答案 0 :(得分:1)
通过双向数据绑定,您的意思是要达到以下效果:如果子组件中的数据发生更改,则其父项中的数据需要更改,反之亦然。
要实现此目的,您可以在父组件中定义一个函数 changeText
class Parent extends Component {
constructor(props) {
super(props)
this.state = {
inputText: ""
}
}
changeText(newText) {
this.setState({
inputText: newText
})
}
....
}
将changeText函数传递给您的子组件。
在您的子组件中,按如下所示使用changeText
function ChildComponent(props) {
const handleChange = e => props.changeText(e.target.value)
return (
<input onChange={handleChange}></input>
)
}
这样,如果inputText从父组件或子组件更改,则更改将同时反映在两者中。
我希望这会有所帮助。