history.push 在 ssr 时不会导致位置改变

达格达1

我有以下服务器代码:

  const store = configureStore({}, history);

  const context: any = { store };

  const app = (
    <Provider store={store}>
      <StaticRouter location={req.url} context={context}>
        <Application />
      </StaticRouter>
    </Provider>
  );
// render app

以及以下客户端连接路由器:

    <Provider store={store}>
      <ConnectedRouter history={history}>
        <Application />
      </ConnectedRouter>
    </Provider>

我可以看到中间件已正确连接,并且history.push正在此处调用方法

但是浏览器不会重定向。

什么会导致浏览器不重定向?

达格达1

事实证明我有 2 个不同的历史实例,1 个在路由器中间件中,1 个在ConnectedRouter.

确保他们都有相同的实例解决了问题。

我有这个文件,我可以在任何需要的地方导入它:

import { createBrowserHistory } from 'history';
import { createMemoryHistory } from 'history';
import { RouterHistory } from '../types';
const selectedHistory: RouterHistory = typeof window !== 'undefined' ? createBrowserHistory : createMemoryHistory;

export const history = selectedHistory();

然后确保我导入了这个文件并且不要制作多个历史副本:

import { history } from '../../routes/history';
//etc.
          <ConnectedRouter history={history}>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何处理React History.Push()导致不希望的组件重新安装?

来自分类Dev

使用this.props.history.push('/')的用户注销重定向不会重定向到所需页面

来自分类Dev

反应路由器this.props.history.push,推送位置但不渲染组件

来自分类Dev

在React Router中使用history.push()时需要刷新的问题

来自分类Dev

this.props.history.push()跳过中间页

来自分类Dev

带注销图标的history.push

来自分类Dev

React history.push自动重定向

来自分类Dev

反应history.push需要forceRefresh

来自分类Dev

使用 jest 运行时,应用程序不会在 history.push 上重新呈现

来自分类Dev

在带有SSR的React Redux架构中使用history.js存储browserHistory

来自分类Dev

反应-调用history.push后错误的组件渲染

来自分类Dev

gatsby中的this.props.history.push等效于什么?

来自分类Dev

React组件未在history.push上重新加载

来自分类Dev

如何在Reactjs功能组件history.push中使用

来自分类Dev

反应路由器,history.push运行后的代码?

来自分类Dev

为什么props没有通过history.push?

来自分类Dev

使用react-router-dom的history.push

来自分类Dev

在history.push()之后减速器状态丢失

来自分类Dev

React useState在history.push之后获取先前的值

来自分类Dev

Redux 状态未在 history.push 上重置

来自分类Dev

如何使用 history.push( ) 并同时调用函数?

来自分类Dev

如何使用 history.push 在 React 中获取参数

来自分类Dev

如何提供 props.history push 作为函数的参数

来自分类Dev

反应路由器 history.push() 不适用于 history.listen()

来自分类Dev

重定向到相同路径名但具有不同路由参数时,History.push不起作用

来自分类Dev

当我使用history.push时,如何从一个组件到另一个组件获取状态变量?

来自分类Dev

reactjs是否会重新安装history.push和history.goBack上一页/组件?

来自分类Dev

如何使用Jest模拟新的React Router Hooks的history.push

来自分类Dev

功能组件内部的props.history.push不呈现该组件

Related 相关文章

  1. 1

    如何处理React History.Push()导致不希望的组件重新安装?

  2. 2

    使用this.props.history.push('/')的用户注销重定向不会重定向到所需页面

  3. 3

    反应路由器this.props.history.push,推送位置但不渲染组件

  4. 4

    在React Router中使用history.push()时需要刷新的问题

  5. 5

    this.props.history.push()跳过中间页

  6. 6

    带注销图标的history.push

  7. 7

    React history.push自动重定向

  8. 8

    反应history.push需要forceRefresh

  9. 9

    使用 jest 运行时,应用程序不会在 history.push 上重新呈现

  10. 10

    在带有SSR的React Redux架构中使用history.js存储browserHistory

  11. 11

    反应-调用history.push后错误的组件渲染

  12. 12

    gatsby中的this.props.history.push等效于什么?

  13. 13

    React组件未在history.push上重新加载

  14. 14

    如何在Reactjs功能组件history.push中使用

  15. 15

    反应路由器,history.push运行后的代码?

  16. 16

    为什么props没有通过history.push?

  17. 17

    使用react-router-dom的history.push

  18. 18

    在history.push()之后减速器状态丢失

  19. 19

    React useState在history.push之后获取先前的值

  20. 20

    Redux 状态未在 history.push 上重置

  21. 21

    如何使用 history.push( ) 并同时调用函数?

  22. 22

    如何使用 history.push 在 React 中获取参数

  23. 23

    如何提供 props.history push 作为函数的参数

  24. 24

    反应路由器 history.push() 不适用于 history.listen()

  25. 25

    重定向到相同路径名但具有不同路由参数时,History.push不起作用

  26. 26

    当我使用history.push时,如何从一个组件到另一个组件获取状态变量?

  27. 27

    reactjs是否会重新安装history.push和history.goBack上一页/组件?

  28. 28

    如何使用Jest模拟新的React Router Hooks的history.push

  29. 29

    功能组件内部的props.history.push不呈现该组件

热门标签

归档