我想将 Action 数据传递到初始状态,而不用等待数据被获取。
我遵循了本教程并且它有效,但我正在尝试修改它以解析任何 JSON 数据并且它也有效但我一直必须输入用户名才能获取数据我希望它可以从初始状态。对不起,如果我没有解释清楚,但我希望你能明白。
const initialState = {
userData: {},
isFetching: false,
isError: false
};
const asyncReducer = (state = initialState, action) => {
switch (action.type) {
case "FETCH_USER":
return Object.assign({}, state, {
isFetching: true,
userData: {},
isError: false
});
case "FETCHED_USER":
return Object.assign({}, state, {
userData: action.data,
isFetching: false,
isError: false
});
case "RECEIVE_ERROR":
return Object.assign({}, state, {
isError: true,
isFetching: false
});
default:
return state;
}
};
export default asyncReducer;
最佳答案
你的问题有点不清楚,没有 Action 代码可以通过我想你的意思是你想在你的 Action 创建者中访问 redux 存储,这样你就不必从你的后端或任何地方获取用户数据每次都正确吗?如果是这种情况,您可以非常简单地在分派(dispatch)后向 thunk 添加第二个参数并获取状态。然后您将拥有状态值供您修改。因此,您可以在操作中执行以下操作:
const myAction = () => (dispatch, getState) => {
const userData = getState().userData;
...do your stuff with that
dispatch({
type: "FETCHED_USER",
data: new_stuff
});
}
关于javascript - ReduxThunk 如何将 Action 数据传递到原始状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57312326/