当前位置: 首页 > 面试题库 >

react-router v4-browserHistory未定义

邴修远
2023-03-14
问题内容

我正在电子中创建我的第一个反应应用程序(也是我的第一个电子应用程序)。我有两条路线,需要从一条导航到另一条。为此,我使用以下代码:

ReactDOM.render(
  <Router history={browserHistory}>
      <App />
  </Router>,
  document.getElementById('root')
);

应用程式

class App extends React.Component {
    constructor() {
        super();
    }
    render() {
        return (
            <div className="app-master">
                <Switch>
                    <Route path='/city' component={CityList}/>
                    <Route path='/' component={SplashScreen}/>
                </Switch>
            </div>
        )
    }
}

import { browserHistory } from 'react-router';
...
browserHistory.push('/city');

这行给出了错误,

TypeError: Cannot read property 'push' of undefined

我在网上搜索了可能的解决方案,但找不到!SO上也有许多类似的问题,但是对我来说都没有作用:(


问题答案:

您现在必须从历史记录模块中导入它,该模块提供了3种不同的方法来创建不同的历史记录。

  • createBrowserHistory适用于支持历史记录API的现代Web浏览器
  • createMemoryHistory 用作参考实现,也可以在非DOM环境中使用,例如React Native或测试
  • createHashHistory 适用于旧版网络浏览器

您不能在电子环境中使用浏览器历史记录,而不能使用哈希或内存

import { createHashHistory } from 'history'

const history = createHashHistory()

然后,您可以使用history注入的道具

this.props.history.push('/')


 类似资料:
  • 刷新第页时未找到以下代码报告404http://localhost/about.但如果将browserHistory更改为hashHistory,它就可以正常工作。 这是我的js文件。 和html文件。

  • 问题内容: 嗨,我只是想接收一个ajax请求,但是问题是在React中没有定义jquery。反应版本是 错误信息 我有两个文件 : 问题答案: 尝试添加到您的项目中,例如 或者如果您使用凉亭 然后

  • 本文向大家介绍React 使用browserHistory项目访问404问题解决,包括了React 使用browserHistory项目访问404问题解决的使用技巧和注意事项,需要的朋友参考一下 最近项目里面用到了React但是发布到iis站点之后,路由地址 刷新访问直接404错误。查阅资料之后发现是iis缺少配置URL重写 的问题导致的。下面我们来图形化配置,简单的配置下IIS 打开IIS使用

  • 本文向大家介绍react-router browserHistory刷新页面404问题解决方法,包括了react-router browserHistory刷新页面404问题解决方法的使用技巧和注意事项,需要的朋友参考一下 使用React开发新项目时,遇见了刷新页面,直接访问二级或三级路由时,访问失败,出现404或资源加载异常的情况,本篇针对此问题进行分析并总结解决方案。 背景 使用webpack

  • 问题内容: 我已经用谷歌搜索了很多,但是我没有找到以下问题的明确答案:react-router中的hashHistory和browserHistory有什么区别? 问题答案: 基本区别在于hashHistory使用的URL类似于:http ://myurl.com/#page/another_page/another_page 使用BrowserHistory,您可以获得正常的网址(无哈希):ht

  • 我使用的反应路由器与反应js和我下面他们的留档,但面临这个错误 编译时会显示错误, 这是我的index.js文件 这是我的App.js档案