Bok*_*oky 22
你用反应路由器做到了.这是react路由器教程.
您的用户列表是打开站点时显示的第一个页面,因此这是您的索引页面,所有其他页面都是路径.
因此你可以做这样的事情:
您可以使用您的路线创建单独的文件:
import UserList from 'path/to/user/list';
import AddUserForm from 'path/....';
const routes = (
<Route path="/" component={App}>
<IndexRoute component={UserList}/>
<Route path="addUser" component={AddUserForm}/>
</Route>
);
export default routes;
Run Code Online (Sandbox Code Playgroud)
然后你的index.js应该是这样的:
import React from 'react';
import ReactDOM from 'react-dom';
import {Router, browserHistory} from 'react-router';
import routes from 'path/to/routes';
ReactDOM.render(<Router history={browserHistory} routes={routes}/>, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)
在这里,你把它包在index.js它来源于Router,在那里你PAS历史要使用和路线.您可以使用browserHistory和hashHistory.BrowserHistory显示更清晰的网址.使用哈希历史,你有类似的东西react-router
现在在您的应用程序中,您可以执
export default class App extends Component {
render() {
return (
<div>
{this.props.children}
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
browserHistory 从路径文件中呈现所有路径,因为您有主路径的指定App组件.
在添加用户按钮onClick事件上,您可以使用browserHistory导航到广告用户表单,因此:
import { browserHistory } from 'react-router;
.........
onClick(){
browserHistory.push("/addUser");
}
.......
render(){
return (
//Userlist with the button
<button onClick={this.onClick.bind(this)}>Add New user</button>
);
}
Run Code Online (Sandbox Code Playgroud)
然后在按钮上单击添加用户表单,同样的过程,您只需要导航到索引路径hashHistory,因此:
import { browserHistory } from 'react-router;
.........
onClick(){
//Your code to add user to the list of users
browserHistory.push("/");
}
.......
render(){
return (
//Add user form
<button onClick={this.onClick.bind(this)}>Add User</button>
);
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
22285 次 |
| 最近记录: |