javascript - 在 react js React router v4 中添加子路由
问题描述
我是反应路由器的新手。我所拥有的是
主.js
render() {
return (
<Router history={history}>
<div>
{this.props.isFetching && <Loading />}
<Switch>
<PrivateRoute exact path="/" component={LandingPage} />
<PrivateRoute exact path="/create-job" component={NewJob} />
<Route exact path="/login" component={Login} />
</Switch>
</div>
</Router>
)
}
}
现在,在此,我的路线是create-job
. 现在,这里有一个容器NewJob.js
render() {
return (
<Fragment>
<SubHeader isAuthenticated={localStorage.getItem("access_token") ? true : false} />
<JobNotFound />
</Fragment>
)
}
现在,在JObNotFound.js
里面有一个按钮,就像,
<div className="col-sm-4">
<button className="btn btn-lg btn-primary btn-block button-container">Create New Job</button>
</div>
现在,在这里我想做的是onclick of this button
,我想改变路由到create-job/New
那里并想在那里渲染一个新组件。
所以,我在这个地方完全糊涂了。谁能帮我这个 ?
谢谢 。
解决方案
您可以使用按钮组件的Link
react-router 中的组件Programmatically navigate onClick
import { Link } from 'react-router-dom';
...
<div className="col-sm-4">
<Link to="create-job"><button type='button' className="btn btn-lg btn-primary btn-block button-container">Create New Job</button></Link>
</div>
推荐阅读
- apache-spark - 现在或将来会支持多少种窗口类型触发结构化流支持?
- jmeter - Jmeter的startAgent.sh协议中的“network i/o”是什么意思?
- java - JPMS 是否支持来自 META-INF/services 的自动模块服务?
- sql - Oracle SQL - 如何使用 JSP 调用 ODCI 流水线函数
- excel - 在用户窗体中复制文本框
- oracle - Oracle DB 未声明为“正确”
- vue.js - 在发出一个对象时,所有对象的所有项都被推入所有数组
- python - 用语言标记开头的```
- android-studio - 为什么Android Studio 3.2.1 向导创建的项目不需要导入info.dodata.clipboard.R?
- c# - 为数据创建新的控件集的应用程序