gpt4 book ai didi

javascript - 如何防止 React Router 4 在 URL 切换上重新渲染?

转载 作者:行者123 更新时间:2023-12-03 14:32:22 25 4
gpt4 key购买 nike

当我在应用程序中切换选项卡时,我很难阻止 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)

如何隐藏/显示内容而不丢失我切换的选项卡中的任何内容?

最佳答案

您可以使用商店来保存您的数据。您选项卡的所有数据都将连接到商店。即使您切换选项卡,商店中的数据也不会丢失。因此,下次渲染选项卡时,您将拥有先前渲染中的数据。

关于javascript - 如何防止 React Router 4 在 URL 切换上重新渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45626690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com