React 16 升級時遇到的一個坑,分享一下


遇到的坑

今天在跟着dva.js官網上面的一個教程寫東西的時候,照着教程上面的代碼寫之后,運行總是報錯:TypeError: Cannot read property 'object' of undefined,這時候我百度了一下,也有解決方法。
我想說的是,我只是注意到一個文件,只是改了一個文件下面的代碼,所以還是一直在報錯,弄得我整個人都不好了。

坑的自我描述

升級前的package.json文件

"react": "15.4.2",
"react-dom": "15.4.2",
"react-router": "3.0.2",
"prop-types": "15.6.0"

升級之后

"prop-types": "^15.6.1",
"react": "^16.3.2",
"react-dom": "^16.2.0"

錯誤代碼

import React,{Component,PropTypes} from 'react'

Users.propTypes = {
  users: PropTypes.object,
};

報錯:TypeError: Cannot read property 'object' of undefined

為什么會遇到這樣的坑

在react v16.0.0 版本中,已經把PropTypes給移出核心包了(要使用的話,就要使用prop-types這個包啦~~~)

解決辦法

將所有的import React,{Component,PropTypes} from 'react'改成下面的代碼即可解決問題

import React, { Component } from 'react';
import PropTypes from 'prop-types';

Users.propTypes = {
  users: PropTypes.object,
};


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM