reactjs - 获取数据,然后设置编辑数据的状态
问题描述
我正在试图弄清楚(目前正在学习反应)如何管理我的反应钩子。我想作为 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
}
解决方案
感谢Keerthi Vijay,我找到了以下解决方案:
useEffect(() => {
getFxs()
singleTransaction()
}, []);
useEffect(() => {
setTransactionUpdate(transaction)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [transaction])
推荐阅读
- python - 安装 MYSQLCLIENT python Linux 时出错
- html - Justify-Center 不在中心位置
- recursion - Prolog,产生 m 个第一个成员反转的列表
- python - Python 引用具有部分路径的模块
- mongodb - Kafka Connect MongoDB Source Connector 故障场景
- java - 春季卡夫卡监听器
- echarts - Echarts 警告:预期颜色但发现“未定义”
- c# - 如何使用 MSIX 允许可编辑的 .Net 生成的配置文件?
- rabbitmq - 使用 Spring Cloud Stream 从 RabbitMQ / MQTT 消费
- rust - `pub` 是指 public-to-crate 还是 public-to-module?