javascript - ReactJS 应用程序的开发控制台中出现警告

标签 javascript reactjs

在我的 React JS 应用程序中,我在控制台中收到此警告:

browser.js?26d3:49 Warning: <BrowserRouter> ignores the history prop. To use a custom history, use `import { Router }` instead of `import { BrowserRouter as Router }`.

我这样做:

import {BrowserRouter as Router, hashHistory, Switch, NavLink, Route} from "react-router-dom";


render() {
    const {t} = this.props;
    return (
        <Provider store={store}>
            <AppContainer>
                <Router history={createHistory}>
                    <div>

如果我在警告中进行上述更改,应用程序将不再运行并抛出错误

其中一个看起来像这样:

AppContainer.dev.js?cd84:95 TypeError: Cannot read property 'pathname' of undefined

我该如何解决这个问题?

提前致谢

最佳答案

这里有两个选择:

答:使用 BrowserRouter 并且简单地不向其传递历史记录:

<Router>

或者

import {BrowserRouter, hashHistory, Switch, NavLink, Route} from "react-router-dom";
...
<BrowserRouter>

B:使用Router并传递实例化历史记录对象:

import {Router, hashHistory, Switch, NavLink, Route} from "react-router-dom";
const history = createHistory();
...
<Router history={history}>

关于javascript - ReactJS 应用程序的开发控制台中出现警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48884671/

相关文章:

javascript - 一种测试javascript方法的方法

javascript - 读取 :hover pseudo class with javascript

javascript - 如何在 react 中无限发送请求而不渲染整个组件以进行实时提要

javascript - redux-form: <FieldArray> + <FormSection> 用于复杂的对象数组

javascript - 为什么当我console.log(event) for `from` onSubmit时,我没有看到preventDefault方法

javascript - 使用 Curl php 抓取 iframe 内容

IE8 中的 JavaScript 日期未定义/NaN

javascript - Facebook 登录无法使用适用于 iOS 的应用内浏览器

javascript - "or"运算符在 react 的渲染方法中没有按预期工作

node.js - componentDidMount 未触发