将react-router与漂亮的URL一起使用的最佳方法是什么?
所有URL都存储在DB中(总金额约为400,000).
当我关注链接时,我需要通过 AJAX请求解析从服务器渲染的组件并进行渲染.
谢谢!
最佳答案 我找到了问题的答案.使用react-router,您可以使用Route的getComponent方法动态解析组件.
例如:
import ProductPage from '...'
import CategoryPage from '...'
const MAP_PAGE_TYPE_TO_COMPONENT = {
'productPage': ProductPage,
'categoryPage': CategoryPage
};
....
const getComponent = (location, callback) => {
requestToServer(location.pathname)
.then(function(response){
const Component = MAP_PAGE_TYPE_TO_COMPONENT[response.pageType];
callback(null, <Component items = { response.items } />);
})
.catch(callback)
};
....
<Route
path='*'
getComponent = { getComponent }
/>
如果没有错误,你应该使用null作为第一个参数调用回调函数,并且< Component />作为第二个参数.