首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 ><NavLink />不触发@@路由器/位置更改操作

<NavLink />不触发@@路由器/位置更改操作
EN

Stack Overflow用户
提问于 2018-09-11 15:10:11
回答 1查看 1.2K关注 0票数 0

我有一个问题,当点击反应路由器<NavLink />组件。当前,当单击它时,它导航到正确的页面,但在redux中没有触发任何操作)。

历史对象更新。我可以判断,因为后向/转发按照预期工作(在redux-logger中触发操作)。

这是去掉的代码:

代码语言:javascript
复制
import React from 'react';
import { connect } from 'react-redux';
import { NavLink } from 'react-router-dom';

import NavMenu from './NavMenu';

const Nav = () => {

  return (
    <aside>
      <NavMenu />
      <NavFooter>
        <NavLink to={`/terms-and-conditions`}> // Not firing redux-logger actions, but navigates to the correct page
          Terms and conditions
        </NavLink>
      </NavFooter>
    </aside>
  );
};

export default connect()(Nav);

当第一次加载和按下浏览器的“后退/前进”按钮时,redux记录器中会出现路由更改:

代码语言:javascript
复制
action @@router/LOCATION_CHANGE // console.log

我到处找,找不出我是否需要做一个定制的动作或使用连接-反应路由器。

助赏

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-13 07:58:44

显然,除了<Router />之外,我还让<Switch />包装了<ConnectedRouter />

如果要将路由连接到redux存储并反映redux-logger中更改的路由,则只需要如下所示的<ConnectedRouter />

代码语言:javascript
复制
<ConnectedRouter history={history}>
    <Nav />
    <Switch>
       <Route path="/" exact component={Home} />
       <Route path="/about-the-cause" exact component={About} />
       <Redirect to="/" />
    </Switch>
</ConnectedRouter>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52279084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档