react非路由跳转组件获取上下文

Phyllis ·
更新时间:2024-09-20
· 843 次阅读

react非路由跳转组件获取上下文react非路由跳转组件获取上下文解决方案1.通过路由跳转2.通过属性传递3.通过withRouter包装 react非路由跳转组件获取上下文解决方案

在react组件中,不是所有组件会通过路由跳转,也需要抓取路由上下文时,解决方案

我们可以看到user组件在React Developer Tools管理工具中的props属性中是存在history,location,match这些上下文
, document.getElementById('root') //这是我们之前的代码,显然App组件没有通过路由跳转 ) import {BrowserRouter, Route} from 'react-router-dom' ReactDom.render( , document.getElementById('root') ) //结构出react-router-dom的Router,来实现路由跳转

这样我们就会看到我们的App组件拿到了路由上下文,并且被Route套了起来

这样便会拿到路由上下文

我们也可以直接将props传给ChildA,这样同样可以收到上下文
不过推荐单个属性直接传,毕竟我们的props还有其他属性

3.通过withRouter包装 import {withRouter} from 'react-router-dom' class App extends Component{} export default withRouter(App)
withRouter 把不是通过路由切换过来的组件中,将 history、location、match 三个对象传入props对象上

作者:颖 梓



路由 上下文 React

需要 登录 后方可回复, 如果你还没有账号请 注册新账号