我有一个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
答案 0 :(得分:0)
您必须输入以下内容:
<Route path="/test" component={Test} />
在<Switch>
组件内,而不是在Home
内。
答案 1 :(得分:0)
您的组件违反直觉。你有一个Home
组件,只为/
呈现 ,然后在你内部有另一个Route
,因此,它永远不会被渲染,因为它没有在/
上渲染。您应该将/test
组件放在Switch
中的app.js
内。
注意:只有删除exact
的{{1}}才能解决此问题,因为/
组件会在每个网址上呈现。