Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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 如何处理直接子路由中的数据_Javascript_Facebook_Reactjs_Express_React Router V4 - Fatal编程技术网

Javascript 如何处理直接子路由中的数据

Javascript 如何处理直接子路由中的数据,javascript,facebook,reactjs,express,react-router-v4,Javascript,Facebook,Reactjs,Express,React Router V4,我是React和single应用程序的新手,我对这种方法有一个疑问 即时通讯使用反应路由器4。路由时,让我们假设我有一个ToDos组件(myapp.com/ToDos),在访问时,我将ToDos数据提取到类似“myapp.com/api/ToDos.json”的位置,并获取ToDos列表,然后呈现每个ToDo,如果我想转到类似ToDo组件的位置,在其中显示ToDo详细信息,则将是类似“ToDos/:todoid”的路由然后我使用一个,转到ToDo细节,这很好,但是当用户直接访问“todos/1”

我是React和single应用程序的新手,我对这种方法有一个疑问

即时通讯使用反应路由器4。路由时,让我们假设我有一个ToDos组件(myapp.com/ToDos),在访问时,我将ToDos数据提取到类似“myapp.com/api/ToDos.json”的位置,并获取ToDos列表,然后呈现每个ToDo,如果我想转到类似ToDo组件的位置,在其中显示ToDo详细信息,则将是类似“ToDos/:todoid”的路由然后我使用一个,转到ToDo细节,这很好,但是当用户直接访问“todos/1”时会发生什么呢?。我应该从对应于特定todo的服务器获取数据吗?比如“myapp.com/api/todos/1.json”?或者我应该加载ToDo组件并获取所有ToDo吗

这一点很重要,因为接下来我必须在服务器上渲染路由,并向路由传递一些道具,如open graph标记


如有任何建议、指导或课程,将不胜感激。提前谢谢

当用户直接打开“todos/1”时,不需要服务器端渲染,然后渲染ToDo细节组件并使用onComponentDidMount获取('api/todos/1')。

当用户直接打开“todos/1'时,不需要服务器端渲染,然后渲染ToDo细节组件并使用onComponentDidMount获取('api/todos/1')).

我必须使用服务器端渲染,因为我需要渲染开放图标签(以及其他一些SEO道具),否则像Facebook这样的爬虫将无法获取元数据,因此我不能使用onComponentDidMount来获取数据。我必须使用服务器端渲染,因为我需要渲染开放图标签(以及其他一些SEO道具),否则,像Facebook这样的爬虫程序将无法获取元数据,因此我无法使用onComponentDidMount获取数据