父组件向子组件传值,是直接用props,但有时需要数据交护,1.此时子组件怎么向父组件传值呢,2.还有就是兄弟组件之间的传值呢
还望指教,提供一个清晰点的思路,先在这里谢谢了:
欢迎选择我的课程,让我们一起见证您的进步~~
父组件props进去或者redux实在不行你还可以用jQuery的选择器
对于复杂组件间传值,使用 redux 应该是坠吼的选择
子组件向父组件传值可以通过context, context可以跨级从父组件向子组件传值,也可以子组件来获取和设置父组件暴露出来的属性值,比如下面的代码就是子组件向父组件注册自己:
context
// 父组件 class Form extends React.Component { constructor(props) { ... } getChildContext() { return { form: { addComponent: this.addComponent, removeComponent: this.removeComponent } } } ... } Form.defaultProps = {preventDefault: true}; Form.childContextTypes = {form: React.PropTypes.object}; export default Form;
// 子组件 class EmailInput extends React.Component { constructor(props) { ... } componentDidMount() { this.context.form.addComponent(this); } componentWillUnmount() { this.context.form.removeComponent(this); } } EmailInput.contextTypes = { form: React.PropTypes.object }; export default EmailInput; ...
兄弟组件之间传值最好通过改变state来实现,这样避免组件和组件之间耦合在一起。
state
当然,如果没有必要的话,或者是普通的数据传递, 建议最好还是通过state的改变来实现。
https://segmentfault.com/q/10...
redux;或者父组件传递一个可以改变自己状态的方法给子组件,子组件通过调用父组件传过来的方法来改变父组件的数据。
我觉得 除了redux 应该合理的就是父亲传方法给儿子了~~
涉及到子组件向父组件传递数据可以使用回调函数(通过props传入到子组件),将需要处理的数据(通常是更新的state)传递给父组件,在父组件中处理,子组件不要有自己的state.
父组件props进去
或者redux
实在不行你还可以用jQuery的选择器
对于复杂组件间传值,使用 redux 应该是坠吼的选择
子组件向父组件传值可以通过
context
,context
可以跨级从父组件向子组件传值,也可以子组件来获取和设置父组件暴露出来的属性值,比如下面的代码就是子组件向父组件注册自己:兄弟组件之间传值最好通过改变
state
来实现,这样避免组件和组件之间耦合在一起。当然,如果没有必要的话,或者是普通的数据传递, 建议最好还是通过
state
的改变来实现。https://segmentfault.com/q/10...
redux;
或者
父组件传递一个可以改变自己状态的方法给子组件,子组件通过调用父组件传过来的方法来改变父组件的数据。
我觉得 除了redux 应该合理的就是父亲传方法给儿子了~~
涉及到子组件向父组件传递数据可以使用回调函数(通过props传入到子组件),将需要处理的数据(通常是更新的state)传递给父组件,在父组件中处理,子组件不要有自己的state.