我有一个父 React 组件,其中有 3 个子组件,我正在更改父组件中的状态,但更改父组件中的状态不会更改子组件中的道具。我将状态从父组件传递到子组件,但道具不是在子组件内部发生变化。
我的父组件
class Parent extends Component {
state = {
menuCategoryId:'',
}
handelOnClickRefundMenu = () => {
this.setState({menuCategoryId:''});
}
render() {
return (
<FoodMenu
menuCategories={menuCategories}
{...this.state}
/>
)
}
}
export default Parent;
子 1 组件
class FoodMenu extends Component {
render() {
return (
<MenuCategories
MenuCategories={menuCategories.MenuCategories}
selectedMenuCategoryId={this.props.menuCategoryId}
/>
);
}
}
export default Child1;
子 2 组件
class MenuCategories extends React.Component{
render(){
const MenuCategories = this.props.MenuCategories;
const selectedMenuCategoryId = this.props.selectedMenuCategoryId;
const renderCategories = (MenuCategories) => (
MenuCategories ?
MenuCategories.map(card=>(
<MenuCategory
key={card._id}
{...card}
handleOnClickMenuCategory={this.props.handleOnClickMenuCategory}
selectedMenuCategoryId={this.props.selectedMenuCategoryId}
// propData={...this.props}
/>
))
:null
)
return (
<Fragment>
<div id="" className="food-menus-menu w-100">
<div className="row">
export default MenuCategory;
当我更改父类函数handelOnClickRefundMenu 中的状态时,地图函数MenuCategory内的最后一个组件中的道具“props.selectedMenuCategoryId”的值不会改变
Map 函数位于 Child Component 2 MenuCategories 中。
请帮我解决这个问题。
函数式编程
MMTTMM
相关分类