3 回答

TA貢獻1836條經驗 獲得超4個贊
這非常簡單 - 您只需要通過屬性將 setter 傳播到選項。
<Options setResult={setResult} />
或者,根據情況提供您自己的使用 setResult 的方法。
我會注意到您當前傳遞給 onSelect 的值似乎綁定到不正確的值。Typescript 編譯器可能在抱怨它?

TA貢獻1873條經驗 獲得超9個贊
您可以將更新程序功能傳遞給選項組件:
<Options setResult={setResult} />
然后在您的選項組件中,您可以使用
props.setResult('blah')

TA貢獻1874條經驗 獲得超12個贊
只需將setResultprop 傳遞給 Options 組件即可。
應用程序.tsx:
function App() {
const [result, setResult] = useState<ResultType>('pending')
return (
<div className="App">
<header className="App-header">
<Options onSelect={props.onSelect} setResult={setResult} />
<Result result={result} />
</header>
</div>
);
}
選項.tsx:
export const Options = ({onSelect, setResult}: Props) => {
const setWrong = () => setResult('wrong');
const setCorrect = () => setResult('correct');
...
}
添加回答
舉報