Reactjs 导航到IndexRoute的子组件,React路由器
我在这里打开了一个问题: 有人建议我在这里问这个问题 我希望能够链接到IndexRoute的子组件,以便在配置如下所示时:Reactjs 导航到IndexRoute的子组件,React路由器,reactjs,react-router,redux,Reactjs,React Router,Redux,我在这里打开了一个问题: 有人建议我在这里问这个问题 我希望能够链接到IndexRoute的子组件,以便在配置如下所示时: <Route path="/" component={App}> <IndexRoute component={Promote} /> <Route path="earn" component={Earn}/> <Route path="vision" component={Vision}/>
<Route path="/" component={App}>
<IndexRoute component={Promote} />
<Route path="earn" component={Earn}/>
<Route path="vision" component={Vision}/>
<Route path="contact" component={Contact}/>
<Route path="demo" component={Demo}/>
<Route path="tos" component={Legal}/>
<Route path="privacy" component={Legal}/>
<Route path="dmca" component={Legal}/>
</Route>
我想链接到的组件是Promote的子组件,我应该能够执行/注册,然后加载我的索引路由,然后滚动/导航到所需的组件,而不是我的Promote组件。但是,我不确定如何在路由配置中指定该路由。有什么想法吗
我想到的一些可能的方法是重写componentDidMount并检查路径,然后滚动到该组件,或者使用一个Oneter钩子来实现同样的事情,第一种方法看起来更简洁。我怀疑使用React路由器没有真正的方法来实现这一点。您使用的是
browserHistory
历史实现(而不是hashHistory
)吗?如果是这样,您应该能够将哈希片段附加到url。例如,如果SignUp
组件位于Promote
中,并且SignUp
组件的容器元素的id为SignUp
,则可以使用如下代码在其他组件中链接到它:
<IndexLink to={{ pathname: '/', hash: '#signup' }}>Sign Up</IndexLink>
<a href="#signup">Sign Up</a>
componentDidMount()
中的this.scrollToHash()
的初始调用会在Promote
初始装载时导致目标元素滚动到视图中。hashchange事件侦听器处理指向升级
组件中的注册
组件的链接。说到这里,需要注意的是,从Promote
内部到SignUp
的任何链接都应该使用
如果您有任何问题,请随意使用它并探索代码,然后告诉我。您是否使用
browserHistory
历史实现(而不是hashHistory
)?如果是这样,您应该能够将哈希片段附加到url。例如,如果SignUp
组件位于Promote
中,并且SignUp
组件的容器元素的id为SignUp
,则可以使用如下代码在其他组件中链接到它:
<IndexLink to={{ pathname: '/', hash: '#signup' }}>Sign Up</IndexLink>
<a href="#signup">Sign Up</a>
componentDidMount()
中的this.scrollToHash()
的初始调用会在Promote
初始装载时导致目标元素滚动到视图中。hashchange事件侦听器处理指向升级
组件中的注册
组件的链接。说到这里,需要注意的是,从Promote
内部到SignUp
的任何链接都应该使用
请随意使用它并探索代码,如果您有任何问题,请告诉我。我并没有真正了解您想要的路由器结构。你能像一个伪代码一样写,或者再解释一下吗?尤其是子组件。它叫什么等等。我并不是真的按照你想要的路由器结构。你能像一个伪代码一样写,或者再解释一下吗?尤其是子组件。它叫什么等等。嗯,这是一个有趣的故事。通过在redux商店中设置状态,我取得了一定的成功,但我非常喜欢这个。我可能会用这个,这是个有趣的地方。通过在redux商店中设置状态,我取得了一定的成功,但我非常喜欢这个。我可能会使用这个和combo中的商店