Я перевожу проект с реагирования 15 на реакцию 16. Я обновил реактив и реактив-дом, затем babel на babel @ 7 и следовал моду кода, чтобы пометить неподтвержденные методы и поменять все реакции. -типы ... но каким-то образом он все еще получил ошибку ссылки, говоря, что PropTypes не определен. Может быть, я что-то пропустил в конфигурации?
import PropTypes from 'prop-types';
import React, { Component } from 'react';
export class Onboarding extends Component {
static contextTypes = {
store: PropTypes.object.isRequired
};
// rest of code...
}
Но выдает Uncaught ReferenceError: PropTypes не определен
Я использую webpack3. webpack.config.js:
var path = require('path');
var webpack = require('webpack');
var BundleTracker = require('webpack-bundle-tracker');
module.exports = {
context: __dirname,
entry: ["@babel/polyfill",'./index'],
output: {
path: path.resolve('./static/js/dashboard/bundles/'),
filename: 'dashboard-[hash].js',
},
plugins: [
new BundleTracker({filename: './static/js/dashboard/webpack-stats.json'}),],
module: {
loaders: [
{test: /\.js?$/,
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['@babel/preset-env']
}
},
]
},
resolve: {
modules: ['node_modules'],
extensions: ['.js', '.jsx']
}
}
и .babelrc
{
"presets": [
"@babel/preset-env",
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-proposal-class-properties",
]
}
Очень запутался, что происходит. И мой package.json (здесь не хранится конфигурация, только зависимости)
{
....
"devDependencies": {
"@babel/core": "^7.1.6",
"@babel/plugin-proposal-class-properties": "^7.0.0",
"@babel/preset-env": "^7.1.6",
"@babel/preset-react": "^7.0.0",
"@babel/register": "^7.0.0",
"babel-loader": "^8.0.0",
"css-loader": "^0.28.7",
"jsdom": "^11.12.0",
"react": "^16.6.3",
"react-dom": "^16.6.3",
"react-redux": "^5.0.5",
"react-router": "^3.0.5",
"react-router-redux": "^4.0.8",
"redux": "^3.6.0",
"uglify-js": "^1.3.5",
"uglifyjs-webpack-plugin": "^0.4.6",
"webpack": "^3.11.0",
"webpack-bundle-tracker": "^0.3.0",
"webpack-dev-server": "^3.1.10"
},
"dependencies": {
"@babel/polyfill": "^7.0.0",
"prop-types": "^15.6.2",
"redux-logger": "^3.0.6",
}
}
Ценю любые подсказки и предложения !!!