Javascript 如何在多页面网站(非SPA)中使用react.js?
我有一个laravel应用程序。 对于具有此类路由的页面:Javascript 如何在多页面网站(非SPA)中使用react.js?,javascript,laravel,reactjs,browserify,Javascript,Laravel,Reactjs,Browserify,我有一个laravel应用程序。 对于具有此类路由的页面:/admin/entity/我希望使用带有react router的react组件来处理/admin/entity/:id路由 如果我使用browserify将所有组件捆绑在一个文件中,我无法从外部访问任何组件来渲染它,因为browserify将其包装为闭包。因此,我有几个问题: 我应该为每个页面创建单独的bundle.js文件并在该文件中显式呈现组件吗?还是应该将每个组件从jsx预编译到js,并从*.blade.php文件内联呈现?将r
/admin/entity/
我希望使用带有react router的react组件来处理/admin/entity/:id
路由
如果我使用browserify将所有组件捆绑在一个文件中,我无法从外部访问任何组件来渲染它,因为browserify将其包装为闭包。因此,我有几个问题:
*.blade.php
文件内联呈现?- 您应该将React和所有代码捆绑到所有页面中,这些页面将包含React组件呈现的任何部分(根据我收集的资料,
)/admin/entity
- 您的React组件应始终呈现给特定元素(例如,一个空的
),并且应具有类似的配置,以便它忽略
,但呈现/admin/entity
。您面临的挑战是,任何指向不同/admin/entity/:id
URL的链接都应该使用:id
组件,以最佳方式位于React组件内部。这将自动连接您的路由器链接
<Route path="admin/entity/:id" handler={Entity} />
我相信,当您运行路由器时,如果浏览器的URL不是预期格式,React实际上不会呈现任何内容。如果您的包中有客户端路由器,那么它是否是单个包并不重要(出于这个原因)但如果我使用客户端路由器,它会捕获每个页面上的整个url,并告知在其他页面中找不到路由