如题想请教一下大家,react中,父组件有没有办法调用子组件的方法,或者设置子组件的state。谢谢!
如题想请教一下大家,react中,父组件有没有办法调用子组件的方法,或者设置子组件的state。谢谢!
父组件为子组件设置 refs
, 可以获取到子组件对象, 也就可以调用子组件的内部方法.
// Child
class Child extends Component {
childFunction() {}
}
class Parent extends Component {
// 调用
parentFunction() {
this.child.childFunction();
}
render() {
return (
<Child ref={(child) => { this.child = child; }} />
);
}
}
父组件调用子组件的方法,一般使用refs
,子组件调用父组件一般采用callback
.
下面的例子是父组件调用子组件的方法:
class Parent extends React.Component {
render() {
return(
<div>
<Child ref={r => this.child = r}/>
</div>
);
}
myFunction() {
this.child.childFunction();
}
}
class Child extends React.Component {
render() {
//....
}
childFunction() {
}
}
注意的是,stateless
写法中没有refs
.
6 回答2.3k 阅读
3 回答2.1k 阅读✓ 已解决
2 回答2.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
当然可以啦====我们需要使用props来传递啊---redux 产生的根本就在于状态控制太多,不易管理,才用redux嘛。。而且一般情况下,也不推荐用redux。能用用react本身的状态做的,尽量本身来控制。就是一个项目里面你如果倔强,是完全可以不用redux来帮你管理复杂状态的---请看一下redux的三大原则吧--
一般情况 这样控制字组件的状态
中午看了一下这片文章,推荐给你