Reactjs 无法配置反应路由

Reactjs 无法配置反应路由,reactjs,routes,Reactjs,Routes,你能帮帮我吗,我有下一条路线 export const routes = ( <div> <Route path='/' component={App}> <IndexRoute component={Home} /> <Route path='home' component={Home} /> <Route path='categories' component={Category} />

你能帮帮我吗,我有下一条路线

export const routes = (
  <div>
    <Route path='/' component={App}>
      <IndexRoute component={Home} />
      <Route path='home' component={Home} />
      <Route path='categories' component={Category} />
      <Route path='books' component={Book}>
        <Route path='/categories/:category_id/books' component={Book} />
      </Route>
    </Route>
    <Route path='*' component={NotFound} />
  </div>
)

我认为这里没有调用DidMount函数,因为您从未脱离“books”上下文。也许您可以使用componentWillReceiveProps事件而不是componentDidMount(注意第一次加载不会触发willreceiveprops),因为两个路由使用相同的组件,您应该有一个触发机制来重新呈现组件。要做到这一点,您可以利用状态。您可以将列表定义为组件的状态,所以当您应用或删除过滤器时,该状态将被更新,从而触发组件重新呈现。
class Book

componentDidMount() {
    const { category_id } = this.props.params;

    category_id ? this.props.loadBooksByCategory(category_id) : this.props.loadBooks();
  }