我很难防止React Router 4.1.2(最新版本)在我切换应用程序选项卡时重置表单。以下是我的结构:
根组件:
<Route path="/" component={Content}/>
内容组件:
import React, {Component} from 'react'
import {connect} from 'react-redux'
import {Redirect, Route, Switch} from 'react-router-dom'
import {history} from 'configureStore'
import * as actions from 'actions/tabs';
import {Divider, Input} from 'semantic-ui-react'
import Tabs from 'components/Tabs'
import Dashboard from 'components/Dashboard'
import ProfileList from 'components/ProfileList'
class Content extends Component {
render() {
const {tabs, switchTab, closeTab} = this.props
let componentByName = {
Dashboard: Dashboard,
ProfileForm: ProfileForm,
ProfileList: ProfileList
}
let routes = []
tabs.forEach((tab) => {
routes.push(<Route key={tab.id} exact path={tab.path} component={componentByName[tab.component]}/>)
})
return (
<div>
<Tabs list={tabs} onClick={switchTab} onCloseClick={closeTab}/>
<Divider hidden/>
<Switch>
{routes}
</Switch>
</div>
)
}
}
const mapStateToProps = (state) => ({
tabs: state.tabs
})
export default connect(mapStateToProps, actions)(Content)
我应该如何仅隐藏/显示内容,而不会在我切换选项卡时丢失任何东西?