gpt4 book ai didi

reactjs - 如何使用 redux 从路由参数加载对象

转载 作者:行者123 更新时间:2023-12-02 04:08:03 25 4
gpt4 key购买 nike

我正在使用react-router-redux,并且我有一条这样的路线

<Route path="/user/:userId" components={{ body: UserMaintenance }} />

加载路由中userId参数对应的用户对象的推荐方式是什么?

我的想法(我是 React 和 Redux 的新手)是在 UserMaintenance componentWillReceiveProps 方法中使用 userId 参数,并向商店分派(dispatch)一个 FETCH_USER 操作,将加载到state.currentUser中。当 currentUser 参数由于该操作而更新时,UserMaintenance 组件将更新。

最佳答案

首先,您必须决定是否希望您的 URL 成为 userId 的真实来源(我建议如此)。

然后您就知道,只要 URL/路由发生变化,您就会调度 FETCH_USER

要从应用内的其他位置更改用户,您只需 browserHistory.push('/user/1234') 并知道 URL 的更改将触发商店的更新。

如果您对此感到满意,只需在 route 分派(dispatch)操作即可:

<Route
path="/user/:userId"
components={{ body: UserMaintenance }}
onEnter={state => {
store.dispatch({
type: ACTIONS.FETCH_USER,
key: state.params.userId,
});
}}
/>

如果您遵循此逻辑,则可能不需要 react-router-redux

redux 作者的有趣评论 over here .

关于reactjs - 如何使用 redux 从路由参数加载对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38419937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com