A component
將setState
函式作為道具傳遞給 a child component
。
B component
沒有將setState
道具傳遞給 achild component
所以當B component
被解雇時我得到一個錯誤說setState is not a function
.
我知道如果我傳遞一個值,我可以像這樣設定它value = ''
,如果沒有值,它將是一個空字串。
有沒有辦法設定默認值?功能?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>;
};
uj5u.com熱心網友回復:
有沒有辦法設定默認值?功能?
如果存在,您可以添加一個簡單的條件setState
:
if (setState) {
setState(); // if setState exists - call it
}
或使用帶有可選鏈接的簡寫語法:
setState?.();
參考:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Optional_chaining
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/525307.html
標籤:反应