“history” prop 在 “Router” 中被标记为必需项,但它的值为“undefined”。

144 浏览
0 Comments

“history” prop 在 “Router” 中被标记为必需项,但它的值为“undefined”。

我刚开始接触ReactJs。这是我的代码:

var React = require('react');
var ReactDOM = require('react-dom');
var {Route, Router, IndexRoute, hashHistory} = require('react-router');
var Main = require('Main');
ReactDOM.render(
  
  
, document.getElementById('app'));

我用webpack编译了它。还将Main组件添加到我的aliases中。控制台显示了以下错误:

\"\"

我还阅读了以下链接:

React Router failed prop \'history\', is undefined

How do I resolve history is marked required, when value is undefined?

Upgrading React-Router and replacing hashHistory with browserHistory

我还在网上搜索了很多次,但无法解决这个问题。React Router版本为4。

admin 更改状态以发布 2023年5月25日
0
0 Comments

你使用的是哪个版本的React Router?版本4改变了传递browserHistory类的方式,变成了传递一个browserHistory实例,详见新documentation中的示例(点击链接查看)

这个改变已经引起了很多自动升级的用户的注意;"任何时候都有可能"推出迁移文档。

你需要把下面这段代码添加到顶部:

import { createBrowserHistory } from 'history'
const newHistory = createBrowserHistory();


0
0 Comments

如果你正在使用react-router v4,你需要同时安装react-router-dom。安装完成后,从react-router-dom中导入BrowserRouter,然后用BrowserRouter替换Router。看起来v4改变了许多事情。此外,react-router文档已经过时了。这是我正常工作的代码:

import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter, Route } from 'react-router-dom'
import App from './components/App';
ReactDOM.render((
     
          
     
     ),
     document.getElementById('root')
);

来源

0