【发布时间】:2016-08-18 21:56:34
【问题描述】:
我有一个这样的助焊剂商店反应多步骤形式:
// MultiForm.js
....
import LoadFile from './components/LoadFile';
import LoadPeople from './components/LoadPeople';
import Confirmation from './components/Confirmation';
class MultiForm extends Component {
.
.
.
nextPage() {
// Update page number with a flux action
MultiStepActions.nextPage();
}
previousPage() {
// Update page number with a flux action
MultiStepActions.previousPage();
}
render() {
const {pagina} = this.state;
<div className="container">
{page === 1 && <LoadFile
handleChange={this.handleChange}
file={this.state.file}
nextPage={this.nextPage}
data1={this.state.data1}
data2={this.state.data2}
data3={this.state.data3}/>
}
{page === 2 && <LoadPeople
listPeople={this.state.listPeople}
nextPage={this.nextPage}
previousPage={this.previousPage}
handleChangePeople={this.handleChangePeople}/>
}
{page === 3 && <Confirmation
listData={this.state.listData}
nextPage={this.nextPage}
previousPage={this.previousPage}/>
}
</div>
}
}
// Index.js with react-router
import Menu from './components/Menu';
class Index extends Component {
class App extends Component {
render() {
return (
<div>
<Menu />
{this.props.children}
</div>
)
}
}
render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<Route path="/MultiForm" component={MultiForm}>
</Route>
</Route>
</Router>
), document.getElementById('app'));
}
它是主要组件(MultiForm)的总结和一个基本的反应路由器场景。 在组件中我使用flux store来设置和获取多步表单的实际页数,然后根据实际页渲染组件。
在组件(LoadFile、LoadPeople、Confirmation)中,我有一个按钮可以导航到下一页和上一页(通过 nextPage 和 previousPage 函数),一切正常。
现在我想使用浏览器的后退和上一步按钮实现相同的结果,我想使用 react-router。那么,我必须如何配置 react 路由器,或者我需要做什么才能让浏览器按钮工作等于我的下一个和上一个按钮?
【问题讨论】:
标签: reactjs react-router flux reactjs-flux