gpt4 book ai didi

reactjs - React 路由器transitionTo,.substring 不是函数

转载 作者:行者123 更新时间:2023-12-03 14:15:01 24 4
gpt4 key购买 nike

我有一些简单的组件,我想使用 router.transitionTo 函数。我在这里做错了什么:

const { Router,
Route,
IndexRoute,
Redirect,
Link,
IndexLink
} = ReactRouter

const Person = React.createClass({

render() {
return (
<div>
hihihi
</div>
)
}
})
const App = React.createClass({
clickHandler() {
this.context.router.transitionTo('/person/23')
},
render() {
return (
<div>
<h1 onClick={this.clickHandler}>React Router Playground</h1>
{this.props.children}
</div>
)
}
})

App.contextTypes = {
router: React.PropTypes.object.isRequired,
}

React.render((
<Router>
<Route path="/" component={App}/>
<Route path="/person/:id" component={Person}/>
</Router>
), document.getElementById('app'))

http://codepen.io/anon/pen/MyerXj?editors=001

最佳答案

在应用程序组件中,您有方法:

  clickHandler() {
this.context.router.transitionTo('/person/23')
},

请将其更改为:

  clickHandler() {
this.context.router.push('/person/23')
},

工作代码笔:http://codepen.io/anon/pen/xVOabg

这是因为实际版本的react-router使用router.push来改变路由

关于reactjs - React 路由器transitionTo,.substring 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35935927/

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