reactjs – react-router和漂亮的URL

将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 />作为第二个参数.

点赞