React遵循从上到下的数据流向,即单向数据流。React是单向数据流,数据主要从父节点传递到子节点(通过props)。如果顶层(父级)的某个props改变了,React会重渲染所有的子节点。单向数据流并非‘单向绑定’,甚至单向数据流与绑定没有‘任何关系’。对于React来说,单向数据流(从上到下)与单一数据源这两个原则,限定了React中要想在一个组件中更新另一个组件的状态(类似于Vue的平行组件传参,或者是子组件向父组件传递参数),需要进行状态提升。即将状态提升到他们最近的祖先组件中。子组件中Change了状态,触发父组件状态的变更,父组件状态的变更,影响到了另一个组件的显示(因为传递给另一个组件的状态变化了,这一点与Vue子组件的$emit()方法很相似)
React单向数据流是指在React中,数据只能从父组件向子组件单向流动,子组件不能直接修改父组件的数据。这种模式保证了组件的独立性和可维护性,使组件之间的依赖关系变得清晰明了。例如,假设有一个父组件<Parent>和一个子组件<Child>,父组件通过props传递一个数据给子组件,那么子组件只能读取这个数据,不能直接修改它。// 父组件class Parent extends React.Component {state = {message: 'Hello, world!'}render() {return (<Child message={this.state.message} />)}}// 子组件class Child extends React.Component {render() {// 从props中获取messageconst { message } = this.propsreturn (<p>{message}</p>)}}在上面的代码中,父组件<Parent>中包含一个数据message,通过props传递给子组件<Child>,子组件只能读取这个数据,而不能修改它。