_react.default.createContext не является функцией при использовании response-redux
У меня проблема при добавлении компонентов к точке входа, тут сразу выскакивает эта ошибка, как это исправить? Я также пытаюсь добавить только основной компонент, но в любом случае я принимаю эту ошибку, в main.jsx просто класс с методом рендеринга, возвращают "привет мир"
_react.default.createContext is not a function
// App.jsx
import React from 'react';
import { render } from 'react-dom';
import { Provider } from 'react-redux';
import { BrowserRouter } from 'react-router-dom';
import 'react-select/dist/react-select.css';
import configureStore from './Data/store/configureStore';
import Main from "./Templates/Main/Main";
const store = configureStore();
render(
<div>
<Provider store={store}>
<BrowserRouter>
<Main/>
</BrowserRouter>
</Provider>
</div>,
document.getElementById('app-root')
);
Конфигурация Webpack
'use strict';
var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
devtool: 'eval-source-map',
entry: [
'webpack-hot-middleware/client?reload=true',
path.join(__dirname, 'src/app.jsx')
],
resolve: {
root: [
path.resolve(__dirname, "src"),
],
extensions: ['', '.js', '.jsx', '.css']
},
output: {
path: path.join(__dirname, '/public/'),
filename: '[name].js',
publicPath: '/'
},
plugins: [
new HtmlWebpackPlugin({
template: 'src/index.tpl.html',
inject: 'body',
filename: 'index.html'
}),
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(),
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('development')
})
],
module: {
loaders: [{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel',
query: {
presets: ['es2015', 'react']
}
}, {
test: /\.css$/,
loader: 'style!css'
}]
}
};
и зависимости
"react": "^15.6.2",
"react-addons-update": "^15.6.2",
"react-bootstrap": "^1.0.0-beta.5",
"react-dom": "^15.6.2",
"react-helmet": "^5.2.0",
"react-redux": "^6.0.0",
"react-router": "^4.3.1",
"react-router-dom": "^4.3.1",
"react-select": "^1.0.0-beta13",
"redux": "^4.0.1",
"redux-thunk": "^2.3.0",
"sequelize": "^3.20.0",
"sqlite3": "^4.0.6"
Google советует обновиться до версии 16 ract, но я не думаю, что это проблема старой версии.
8 ответов
react-redux v6.0.0
использует новый контекстный API, предоставленный React, и для того, чтобы он работал, нужно либо понизить react-redux
в v5.x.x
или обновить react
а также react-dom
в v16.4
или выше
Если вы используете пряжу, вы можете запустить
yarn upgrade react react-dom
еще с npm вы можете запустить
npm update react react-dom
Вы также можете изменить версии вручную в package.json и запустить yarn install
или же npm install
У меня возникла та же проблема, но обновление реакции и реакции-дома не помогло. Я использовал NextJS 13 с формой реагирования, и проблема заключалась в том, что я забыл поставить «использовать клиент» вверху страницы. Эта ошибка произошла из-за того, что вы не можете использовать перехватчики в компонентах сервера.
Исправлена проблема путем обновления response и react-dom
npm update react react-dom
И, конечно же, закрытие сервера и перезапуск с помощью npm start снова.
Попробуйте установить с этой версией:
yarn add react-redux@5.0.5
Всякий раз, когда вы git pull или используете чужой код, попробуйте обновить свой пакет до последней версии, используя:
npm update
всегда проверяйте версии React/React-dom, особенно если вы импортировали проект во время прохождения любого онлайн-курса!!
Кроме того, если вы не хотите обновлять все пакеты с помощью npm update, просто выполните:
npm i react@latestreact-dom@latest
Надеюсь, это поможет!!
Для меня это был конфликт версий, я сначала обновил npm, затем запустил npm install, попробуйте кулак:
npm i npm@latest -g
тогда
npm install
У меня сработало обновление пакета react-dom — попробуйте любой из них (в зависимости от вашего менеджера пакетов)
- обновление npm
ИЛИ
- обновление пряжи
У меня была эта ошибка
_react.default.createContext is not a function
затем я обновил response и react-dom до последней версии, используя
npm update react react-dom
и это решило мою проблему.