【问题标题】:Route refreshing on redux store change and clicking continuously on Linkredux store 更改时路由刷新并连续点击 Link
【发布时间】:2019-04-09 04:01:39
【问题描述】:

我正在使用 react: 16.6.0 和 react-router-dom: 4.3.1 和 redux 设置

ReactDOM.render(
<Provider store={store}>
    <Router basename={process.env.PUBLIC_URL}>
        <App />
    </Router>
</Provider>, document.getElementById('root'));

这是我的路由实现

<Suspense maxDuration={1500} fallback={<BundleLoading />} >
                                <Switch>
                                    <Route exact path='/' component={() => <Dashboard />} />
                                    <Route exact path='/settings' component={() => <Settings />} />
                                    <Route path='**' component={() => <PageNotFound />} />
                                </Switch>
                            </Suspense>

当我连续单击链接组件时,它会在每次单击时重新渲染组件。每当我的 redux 商店更改(将主题更改为 light/dark )时,它也会重新渲染。我还有其他应用程序以相同的方式实现,但它们都按预期工作。

我对此一无所知,请帮忙,如果有帮助,我可以更新更多代码

【问题讨论】:

    标签: javascript reactjs redux react-redux react-router-v4


    【解决方案1】:

    我的猜测是胖箭头函数是原因。尝试像这样切换&lt;Route path="subroute1" component={SubRoute1} /&gt;

    【讨论】:

    • 非常感谢,这有效,但它给了我一个警告“警告:失败的道具类型:无效的道具component 提供给object 类型Route,预期function。”但是我不在乎,
    • react-router,尚未准备好 Suspense,请改用到达路由器
    • 那么这是否意味着我可以在 react-router 更新它以支持悬念之前面对更多的错误/块,等待更新或只是移动到路由器是个好主意
    • 现在很难说这一切都是那么新鲜......两者都可以或不可以
    • 无论如何,感谢您的帮助,我可能会等到另一个重大错误出现。我想我暂时不用处理很多路由逻辑,以后可以轻松切换
    猜你喜欢
    • 2019-02-16
    • 2016-10-21
    • 2020-09-05
    • 2017-06-10
    • 1970-01-01
    • 2017-12-07
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    相关资源
    最近更新 更多