84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
父组件向子组件传值,是直接用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.