Javascript 将路由器参数传递给深嵌套组件
以Javascript 将路由器参数传递给深嵌套组件,javascript,reactjs,redux,react-router,Javascript,Reactjs,Redux,React Router,以redux中关于如何将其与react路由器一起使用的示例为例: const App = ({ match: { params } }) => { return ( <div> <AddTodo /> <VisibleTodoList filter={params.filter || 'SHOW_ALL'} /> <Footer /> </div> ) } const-
redux
中关于如何将其与react路由器一起使用的示例为例:
const App = ({ match: { params } }) => {
return (
<div>
<AddTodo />
<VisibleTodoList filter={params.filter || 'SHOW_ALL'} />
<Footer />
</div>
)
}
const-App=({match:{params}})=>{
返回(
)
}
假设redux
和react router
都已正确设置,您将如何将路由器参数传递给深度嵌套的组件,例如向下三级VisibleTodoList
?除了将其传递到每个组件上之外,还有其他方法吗?从react router的应用程序->可见到列表->
->..
?使用With router()。它将注入路由器参数。VisibleTodoList.jsx的示例:
import { withRouter } from `react-router`;
const VisibleTotoList = ({ match: { params } }) => { ... }
export default withRouter(VisibleTotoList);
此处的文档使用react router中的withRouter()。它将注入路由器参数。VisibleTodoList.jsx的示例:
import { withRouter } from `react-router`;
const VisibleTotoList = ({ match: { params } }) => { ... }
export default withRouter(VisibleTotoList);
这里的文档因为我使用的是react router redux
,我的第一个猜测是听LOCATION\u CHANGE
操作,然后将过滤器
添加到状态。通过这种方式,我可以在嵌套组件中使用容器,从状态中获取过滤器并将其传递给表示组件。有更好的解决方案吗?因为我使用的是react router redux
,我的第一个猜测是听LOCATION\u CHANGE
操作,然后将过滤器添加到状态。通过这种方式,我可以在嵌套组件中使用容器,从状态中获取过滤器并将其传递给表示组件。有更好的解决办法吗?