我正在尝试弄清楚(目前正在学习react )如何管理我的react钩子。我想作为CRUD操作的一部分来更新transaction
。当编辑"url“加载时,数据还不存在。我想获取它,然后设置transactionUpdate
的状态,该状态用于在用户提交表单之前不更改原始事务更新。由于字段使用transactionUpdate
对象,因此在设置transactionUpdate
数据之前不应进行呈现
const EditTransaction = (props) => {
const transactionID = props.match.params.id
const dispatch = useDispatch()
const getFxs = () => dispatch(fetchFxs())
const singleTransaction = id => dispatch(fetchTransaction(transactionID))
const currentState = useSelector(state => state)
const transaction = currentState.TransactionsState.transaction
const [transactionUpdate, setTransactionUpdate] = useState("")
useEffect(() => {
getFxs()
singleTransaction()
setTransactionUpdate(transaction)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
..... code stripped
}
发布于 2021-01-02 22:46:56
多亏了Keerthi Vijay,我找到了以下解决方案:
useEffect(() => {
getFxs()
singleTransaction()
}, []);
useEffect(() => {
setTransactionUpdate(transaction)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [transaction])
https://stackoverflow.com/questions/65539971
复制相似问题