首页 > 解决方案 > 获取数据,然后设置编辑数据的状态

问题描述

我正在试图弄清楚(目前正在学习反应)如何管理我的反应钩子。我想作为 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
}

标签: reactjsreact-redux

解决方案


感谢Keerthi Vijay,我找到了以下解决方案:

useEffect(() => {
        getFxs()
        singleTransaction()
}, []);

useEffect(() => {
        setTransactionUpdate(transaction)
        // eslint-disable-next-line react-hooks/exhaustive-deps
}, [transaction])

推荐阅读