不变违规:缺少路径参数

时间:2016-05-31 12:15:36

标签: javascript reactjs ecmascript-6 react-router

我的路径/me包含子路径:subcategory。在我的处理程序逻辑中,当未设置prop subcategory时,应显示默认内容,但是在使用url /me时,我收到此错误: Invariant Violation:Missing“subcategory”参数for路径“/ me /:subcategory”

<Route path="me">
  <Route handler={Me} name="me" path=":subcategory" />
</Route>

我做错了什么?为两个路由指定处理程序没有任何区别。

1 个答案:

答案 0 :(得分:0)

起初我认为我的<Route>定义存在问题,因此,经过互联网的不必要的长时间研究后,因为实际上没有关于 的信息,我找不到已经发现路线是正确的,并且有两种解决方案。

  1. 所有链接要求参数设置(不,null无法正常工作,你是愚蠢的程序员)
    之前:<Link to='me'>Me</Link>
    之后:<Link params={{subcategory: 'app'}} to='me'>Me</Link>
  2. 使子路径可选 - &gt;添加?
    <Route handler={Me} name="me" path=":subcategory?" />
  3. 第二种方法的优点是没有必要查找和重构所有旧链接,只需要处理程序的逻辑。