嗨,我的问题是我的父母组件有一个复选框。这个家长组件也有许多带有chechboxes的子组件。我需要这样做: 如果我单击父母复选框,我还需要设置状态子复选框。但是之后,我应该不能取消点击一些子chcekbox,
我的孩子这样讨厌:
export class ThemePartKnowledge extends Component {
static get propTypes() {
return {
knowledge: PropTypes.object.isRequired,
};
}
constructor(props) {
super(props);
this.state = {
isChecked:false,
}
}
render() {
return (
<Card className={'themePartKnowledge ml-2'}>
<Card.Header className={'d-flex flex-column flex-md-row p-x0'}>
<Form.Group controlId="formBasicCheckbox" className={'m-0 d-inline-block'}>
<Form.Check c type="checkbox" className={'my-auto'}/>
</Form.Group>
</Card.Header>
</Card>
);
}
}
我的Parrent控制器只是向该组件发送isParrentChcecked道具。
我该怎么做?寻求帮助
编辑: 所以我的结构看起来像这样
答案 0 :(得分:1)
componentDidUpdate正是这样做的。在这里,isParentChecked
每次更改时,我都将isChecked
状态同步到父对象。
componentDidUpdate(prevProps, prevState){
if(prevProps.isParentChecked !== this.props.isParentChecked){
this.setState({isChecked: this.props.isParentChecked})
}
}