React 15.6 升級 React 16.2 小記

ink0101發表於2018-05-08

React 16 已經發布很久了,但是維護的一個很簡單的專案使用的還是 React 15.6。

由於想使用React 16.2 中的 Fragment 的特性,便決定升級。

升級過程

專案依賴並不多,所以直接升級:

需要同時升級 react 和 react-dom 這兩個包

npm install --save react@16.2.0 react-dom@16.2.0
複製程式碼

由於本來專案中使用的就是 React 4, 所以沒有升級 react-router-dom 這個包。

升級第三方依賴

檢查安裝的第三方抵賴包是否報錯,如果有報錯,嘗試升級。 由於本專案比較簡單,升級後編譯沒有報錯,暫時沒有升級第三方依賴包。

升級遇到的問題

報錯1: Cannot read property 'array' of undefined

static propTypes = {
    images: PropTypes.array.isRequired,
  }
複製程式碼

React 15.6 升級 React 16.2 小記

報這個錯的原因是 React 中元件 PropTypes 的引入有問題:

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

升級之前引入:

import React, { Component, PropTypes } from 'react'
複製程式碼

升級後修改為:

import PropTypes from 'prop-types'
複製程式碼

修改後就可以解決這個報錯。

相關文章