[英]How to force a functional component to rerender on submit?
我有使用onChange
更新其表單狀態(X)的表單輸入,然后我有一個表單onSubmit
提交,它必須做兩件事:
const [ethValue, setEthValue] = React.useState({ethValue: 0});
const submit = (e) => {
setEthValue(() => { return { ethValue: formData.value } })
e.preventDefault();
runContractFunction()
};
它正在工作,但是為了完成任務,由於設置函數的異步性質,我必須按兩次提交按鈕。 為了完成設置,我決定使用重新渲染,以便完成狀態設置,但我嘗試的兩種方法都不起作用。
由於我使用功能組件,我不能使用forceUpdate()
並且我不能將useEffect
放在我的submit
函數中,因為它會將useEffect
鈎子放在組件函數體之外。
我想做,所以你必須按一次提交,而不是兩次才能工作。 我該如何解決這個問題?
在此先感謝您的時間!
將該“Y”值作為參數傳遞給函數,該參數將其用作狀態。
const submit = (e) => {
setEthValue(() => { return { ethValue: formData.value } })
e.preventDefault();
runContractFunction({
ethValue: formData.value
})
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.