A component
将setState
函数作为child component
的道具传递。B component
不会将setState
属性传递给child component
,因此当B component
被触发时,我会收到错误消息setState is not a function
。
我知道如果我传递一个值,我可以像value = ''
这样设置它,如果没有值,它将是空字符串。
有没有办法给函数设置默认值?或者当只触发了'A组件时,我如何执行setState
函数?
const A = () => {
const setState = () => {
console.log("A fire");
};
return <Child setState={setState} />;
};
const B = () => {
return <Child />;
};
const Child = ({ setState }) => {
setState();
return <diva>hello</div>;
};
1条答案
按热度按时间3phpmpom1#
是否有办法为函数设置默认值?
如果
setState
存在,您可以只添加一个简单的条件:或者使用带有 * 可选链接**的 * 速记 * 语法:
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining