Я использую Reactjs для своего проекта.У меня возникла проблема с удалением данных в дочернем компоненте, и я заметил изменение в компоненте randparent.Вот код для родительского компонента: `
class GrandParent extends Component {
constructor(props) {
super(props);
this.state = {
menuData: [
{ menu: "1", optionName: "A" },
{ menu: "2", optionName: "A" },
{ menu: "3", optionName: "B" },
{ menu: "4", optionName: "B" },
{ menu: "5", optionName: "B" }
],
optionData: [{ optionName: "A" }, { optionName: "B" }]
};
}
render() {
<div>
<Parent optionData={optionData} />
</div>;
}
}
Вот код для родительского компонента:
class Parent extends Component {
render() {
<div>
<Child optionData={this.props.optionData} />
</div>;
}
}
Следующий дочерний компонент:
class Child extends Component {
constructor(props) {
super(props);
this.state = {
options: []
};
}
componentDidMount() {
this.setState({
options: this.props.optionData
});
}
deleteOptionA = () => {
let { options } = this.state;
newOption = options.filter(option => option.optionName !== "A");
this.setState({ options: newOption });
};
render() {
<div>
<button onClick={this.deleteOptionA}>deleteOptionA</button>
</div>;
}
}
Мне нужноудалить опцию А.Однако optionA также находится в состоянии бабушки и дедушки.Как наиболее эффективно сообщить бабушке и дедушке об удалении optionA в состоянии menuData и optionData?