Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript react admin:调度操作以存储来自动态请求的元数据_Javascript_Reactjs_Redux_React Redux_React Admin - Fatal编程技术网

Javascript react admin:调度操作以存储来自动态请求的元数据

Javascript react admin:调度操作以存储来自动态请求的元数据,javascript,reactjs,redux,react-redux,react-admin,Javascript,Reactjs,Redux,React Redux,React Admin,您好,这个问题是一个继续的问题 我通过ajax请求动态获取路由(在官方文档“在运行时声明资源”中的后续文章中),我使用异步函数从ajax请求返回资源列表 我从redux中的ajax请求中获得了元数据,为了以后的访问,分派操作存储元数据的最佳方式是什么 此外,当用户尚未登录时,此函数将不会返回任何内容,登录后,用户将可以访问一些资源。重新加载资源的最佳方式是什么?为了使其正常工作,我添加了一个私有变量,用于存储问题中提到的数据,并通过另一个函数访问它,该函数是我从该文件导出的 这给了我所需要的,但

您好,这个问题是一个继续的问题

我通过ajax请求动态获取路由(在官方文档“在运行时声明资源”中的后续文章中),我使用异步函数从ajax请求返回资源列表

我从redux中的ajax请求中获得了元数据,为了以后的访问,分派操作存储元数据的最佳方式是什么


此外,当用户尚未登录时,此函数将不会返回任何内容,登录后,用户将可以访问一些资源。重新加载资源的最佳方式是什么?

为了使其正常工作,我添加了一个私有变量,用于存储问题中提到的数据,并通过另一个函数访问它,该函数是我从该文件导出的


这给了我所需要的,但我不知道这是否是最好的方式。

最好的选择是使用
redux saga

然后

如果您不能使用redux saga,我喜欢使用私有变量的解决方案。你应该这样做。

redux操作的设置非常简单。配置存储,然后可以在单个文件中设置每个状态值:

从'redux actions'导入{createAction,handleActions}
让initialState={myValue:'}
导出默认手动过滤({
设置我的值:(state,action)=>({…state,myValue:action.payload})
})
export const setMyValue=createAction('SET_MY_VALUE'))
导出常量doSomething=()=>{
返回调度=>{
doFetch()。然后(结果=>{
if(result.ok)分派(setMyValue(result.data))
})
}

}
谢谢您的回答,我的问题是针对具体情况,请回答。你能调查一下吗?你的答案也是如此general@Developerium通过查看react admin的一些文件,我可以看到它们也只使用了redux saga。请查看:@Developerium,这是redux的一个普遍问题,redux saga的引入就是为了解决这类问题。我的react原生应用程序也遇到了同样的问题,这就是为什么我决定使用
redux saga
。我尝试了这个方法,但在我的Reducer中没有得到任何东西此函数不在组件上下文中,任何组件之外的一个简单函数您可以为此显示一些代码吗?我正在尝试做类似的事情,但已经创建了其他组件来进行调用。当我从API获得响应时,我要做的第一件事是将其存储在该变量中。它只是一个局部变量,也是从该文件导出的。
export function* async() {
  yield fetch(); //your Ajax call function
  yield put({ type: 'INCREMENT' }) //call your action to update your app
}