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 在逐步增强的站点中,如何避免在使用react时检索数据或呈现页面两次?_Javascript_Reactjs_React Router - Fatal编程技术网

Javascript 在逐步增强的站点中,如何避免在使用react时检索数据或呈现页面两次?

Javascript 在逐步增强的站点中,如何避免在使用react时检索数据或呈现页面两次?,javascript,reactjs,react-router,Javascript,Reactjs,React Router,在开发逐步增强的应用程序时,首先只开发服务器端渲染,然后使用JavaScript来增强体验。这意味着在禁用JavaScript的情况下,网站仍应具有完整的功能并正确呈现 我是react新手,目前面临的挑战是react应用程序要接管站点并管理路由,它将运行所有组件,包括检索数据,然后将数据添加到状态。这意味着,即使网站已完全呈现且功能正常,react也将从头开始重新呈现用户已进入网站的页面。从那时起,SPA将处理任何事情,即react和react路由器 除了不必要的网络请求外,这会导致ui闪烁,直

在开发逐步增强的应用程序时,首先只开发服务器端渲染,然后使用JavaScript来增强体验。这意味着在禁用JavaScript的情况下,网站仍应具有完整的功能并正确呈现

我是react新手,目前面临的挑战是react应用程序要接管站点并管理路由,它将运行所有组件,包括检索数据,然后将数据添加到状态。这意味着,即使网站已完全呈现且功能正常,react也将从头开始重新呈现用户已进入网站的页面。从那时起,SPA将处理任何事情,即react和react路由器

除了不必要的网络请求外,这会导致ui闪烁,直到重新启动。我怎样才能避免这种情况?在定制SPA上,我会在呈现服务器端时填充JavaScript状态(如果用户有JavaScript)。SPA将处理任何路线


请注意,服务器端尚未使用react开发

因此,当禁用JavaScript时,纯用JavaScript编写的UI仍应运行完全相同的功能?请查看关于服务器渲染的react文档。Redux还有关于服务器渲染的文档。使用文档中的方法React不需要“从头开始”,它将依赖于从服务器上呈现的内容。请更正@Marc。用于呈现服务器端的JavaScript在服务器上运行,因此始终可用,不需要浏览器启用JavaScript。@realseanp,但是,不重写后端就可以使用React吗?或者这是一个要求吗?(假设我们正在将现有应用程序转换为SPA)为了充分利用react进行服务器端渲染,您需要使用react服务器渲染方法。否则,您可以添加某种加载程序,该加载程序在react渲染到DOM后隐藏。您可以使用noscript标记并编写一个样式表,如果用户没有JS,它将隐藏到加载程序