gpt4 book ai didi

javascript - React Rout v-4 `this.props.match.params` **undefined** 和 `staticContext` undefined

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:41:26 25 4
gpt4 key购买 nike

我正在使用

    "react": "^15.6.1",
"react-dom": "^15.6.1",
"react-router": "^4.1.2",

野兔我的溃败:

<BrowserRouter>
<div>
<Route exact path='/' component={Layout}></Route>
<Route path='/about' name="about" component={About}>
<Route path="/:article" component={anotherAbout}></Route>
</Route>
<Route path='/protfolio' name="protfolio" component={Portfolio}></Route>
</div>
</BrowserRouter >

当我调用 {this.props.match.params.article} 时,它给出 undefined

还有我的控制台:this.props enter image description here

为什么 staticContext: undefined 和我的 props.match.params 空对象。

最佳答案

看看这个basic example来自 react-router v4 文档。

查看 const Topics = ({ match }) => ( ... ),您将在该组件底部看到嵌套路由。这就是你在 react-router v4 中嵌套路由的方式。如果您解决此问题,您的问题应该得到解决。

import React from 'react'
import {
BrowserRouter as Router,
Route,
Link
} from 'react-router-dom'

const BasicExample = () => (
<Router>
<div>
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/about">About</Link></li>
<li><Link to="/topics">Topics</Link></li>
</ul>

<hr/>

<Route exact path="/" component={Home}/>
<Route path="/about" component={About}/>
<Route path="/topics" component={Topics}/>
</div>
</Router>
)

const Home = () => (
<div>
<h2>Home</h2>
</div>
)

const About = () => (
<div>
<h2>About</h2>
</div>
)

const Topics = ({ match }) => (
<div>
<h2>Topics</h2>
<ul>
<li>
<Link to={`${match.url}/rendering`}>
Rendering with React
</Link>
</li>
<li>
<Link to={`${match.url}/components`}>
Components
</Link>
</li>
<li>
<Link to={`${match.url}/props-v-state`}>
Props v. State
</Link>
</li>
</ul>

<Route path={`${match.url}/:topicId`} component={Topic}/>
<Route exact path={match.url} render={() => (
<h3>Please select a topic.</h3>
)}/>
</div>
)

const Topic = ({ match }) => (
<div>
<h3>{match.params.topicId}</h3>
</div>
)

export default BasicExample

关于javascript - React Rout v-4 `this.props.match.params` **undefined** 和 `staticContext` undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45393875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com