升级前的packjson中的版本为
"react": "15.4.2", "react-dom": "15.4.2", "react-router": "3.0.2", "prop-types": "15.6.0"
然后我就先升级了
"react": "16.0.0", "react-dom": "16.0.0"
然后运行原来的项目报错
报错信息如下:
Uncaught TypeError: Cannot read property ‘func’ of undefined
react-router v3.0.2报出来的错误~为什么会报错?
查看源码,在react-router的 ContextUtils.js 中,使用了
import { PropTypes } from 'react'
引用PropTypes。
在react v16.0.0 版本中,已经把PropTypes给移出核心包了(要使用的话,就要使用prop-types这个包啦~~~)
解决办法:
把react-router升级为3.0.4以上版本就好了~因为3.0.4已经把PropTypes的引用改为
import PropTypes from 'prop-types'
好了,问题解决!
最终packjson的版本为 (react-router v3的最新版本为3.2.0)
"react": "16.0.0", "react-dom": "16.0.0", "react-router": "3.2.0", "prop-types": "15.6.0"