reactjs - 在 Redux reducer 中访问全局状态?
问题描述
如何从减速器访问全局状态?
目前在我的操作文件中,我有这个功能,许多功能需要 userId:
export const getMyUserData = (userId) => (dispatch) => {
dispatch(fetchingData());
accessing(`api/${userId}`, (res) => {
fetchComplete(res);
});
};
而不是传递 Id 值。
const Id = useSelector(state => state.auth.userId)
export const getMyUserData = () => (dispatch) => {
};
这是访问全局状态的正确方法吗?
解决方案
您可以使用传递给 thunk 的第二个参数访问当前状态。
像这样
const getUserId = state => state.auth.userId
export const getMyUserData = () => (dispatch, getState) => {
const userId = getUserId(getState())
dispatch(fetchingData());
accessing(`api/${userId}`, (res) => {
fetchComplete(res);
});
};
推荐阅读
- json - 每天使用 Powershell 脚本更新 JSON 文件参数
- image - 当工作表嵌入 Google 协作平台时,Google 工作表中的图像会移动
- swift - 捕捉 RealmSwift 写入错误,即删除
- reactjs - 反应添加事件以将用户转换到路线
- python - 从 pandas DataFrame 中切出唯一的行以存储在单独的 DataFrame 中
- python - 如何调整列表中多个图像的大小?
- aframe - 灯光不适用于 A-frame 0.9 中的 .gltf 模型(适用于 0.8)
- python - 在 SWI-Prolog 中实现哈希表
- javascript - 用数组中的元素替换字符“*”的实例 - JavaScript
- java - Java,我可以假设与层次结构的接口吗