【发布时间】:2017-06-21 08:59:39
【问题描述】:
我正在构建一个反应应用程序,反应路由器呈现一个黑页。我用谷歌搜索了一下,似乎无法弄清楚发生了什么。
索引
import React from 'react'
import {render} from 'react-dom'
import routes from './routes'
render(routes, document.getElementById('root'))
路线
import React, { Component } from 'react'
import { Router, Route, hashHistory } from 'react-router'
import Home from './Home.js'
import Name from './Name.js'
//import level from './level.js'
//import level1 from './level1.js'
//import level2 from './level2.js'
//import result from './result.js'
const routes = (
<Router history={hashHistory}>
<Route path='/' component={Home} />
<Route path='/name' component={Name} />
</Router>
);
export default routes;
不通过导航 /name 呈现的组件
import React, { Component } from 'react'
import appState from './state.js'
import { Router } from 'react-router'
class Name extends Component {
constructor() {
super();
this.state = {username: ''};
}
onUpdateUser = (e) => {
this.appState.username = e.target.value;
Router.push({
pathname: '/level'
})
}
render() {
return (
<div className="row">
<div claassName="col-md-12">
<div className="nameBox">
<form className="form-inline" onSubmit={this.onUpdateUser()}>
<input type="text" className="form-control" placeholder="Desiered Username" onChange={this.onUpdateUser} value={this.state.username} />
<button type="submit" className="btn btn-success">Submit</button>
</form>
</div>
</div>
</div>
)
}
}
export default Name
任何帮助将不胜感激!PS索引路由工作正常。
【问题讨论】:
-
看起来您正在导航到 /level(不存在的路线)而不是 /name。检查浏览器的错误控制台,看看是否收到类似以下错误:“警告:[react-router] 位置“/level”与任何路由不匹配”
-
杰夫,我认为它只会在按下提交按钮后导航到 /level。我该如何解决这个问题?
-
更改为 onSubmit={(e) => this.onUpdateUser(e)}
-
我遇到了类似的问题。这对我有帮助 *.com/a/52651670/10316348
标签: javascript reactjs react-router