适用于ReactJ的最佳解决方案绑定?

时间:2019-02-24 07:57:58

标签: reactjs data-binding

在Angular2 +中,对于绑定问题有简单的解决方案,我们ngModel用于在各种输入和自定义控件上进行双向绑定,但是在我看来,reactJs支持单向绑定问题。请描述ReactJ中双向绑定的最佳实践。

1 个答案:

答案 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从父组件或子组件更改,则更改将同时反映在两者中。

我希望这会有所帮助。