为什么react-router V4组件没有加载?

时间:2017-12-13 03:31:09

标签: reactjs react-router react-router-v4 react-router-dom

我有一个Home组件,它位于其中:

import ReactDOM from 'react-dom';
...
componentDidMount() {
    ReactDOM.findDOMNode(this).addEventListener('click', (event) => {
    event.stopPropagation();
  }, false)
}

这是我的app.js

{posts && posts.map(post => (
  <div key={post.id}>
  <Link to="/test">{post.title}</Link>
  </div>
))}
<Route path="/test" component={Test} /> 

为什么点击它时此测试不起作用?它是网址,但测试组件应该说<Topnav /> <Switch> <Route exact path = '/' component={Home} /> <Route path = '/posts/create' component={Postform} /> </Switch>

I AM TEST

2 个答案:

答案 0 :(得分:0)

您必须输入以下内容:

<Route path="/test" component={Test} />

<Switch>组件内,而不是在Home内。

答案 1 :(得分:0)

您的组件违反直觉。你有一个Home组件,只为/呈现 ,然后在你内部有另一个Route,因此,它永远不会被渲染,因为它没有在/上渲染。您应该将/test组件放在Switch中的app.js内。

注意:只有删除exact的{​​{1}}才能解决此问题,因为/组件会在每个网址上呈现。