Модуль не найден: 'Redux'
Я создал новое приложение реакции с помощью create-react-app
кли. Затем я добавил 'react-redux'
использование библиотеки npm install --save react-redux
,
В package.json
Я имею:
"react-redux": "^4.4.5"
К сожалению, приложение не компилируется и жалуется:
Error in ./~/react-redux/lib/utils/wrapActionCreators.js
Module not found: 'redux' in C:\Users\Salman\Desktop\Courses\Internship\React\Youtube-Front-End\node_modules\react-redux\lib\utils
@ ./~/react-redux/lib/utils/wrapActionCreators.js 6:13-29
Понятия не имею, что это значит?
Вот полный контейнер:
import React,{Component} from 'react';
import {connect} from 'react-redux';
class BookList extends Component{
renderList(){
return this.props.books.map((book)=>{
<li key={book.title} >{book.title}</li>
});
}
render(){
return(
<div>
<ul>
{this.renderList()}
</ul>
</div>
);
}
}
function mapStateToProps(state){
return{
books:state.books
};
}
export default connect(mapStateToProps)(BookList);
Здесь завершено package.json
:
{
"name": "Youtube-Front-End",
"version": "0.1.0",
"private": true,
"devDependencies": {
"react-scripts": "0.6.1",
"webpack": "^1.13.2"
},
"dependencies": {
"react": "^15.3.2",
"react-dom": "^15.3.2",
"react-redux": "^4.4.5",
"youtube-api-search": "0.0.5"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
10 ответов
Вам нужно установить response-redux, но также и библиотеку redux.
npm install --save redux
react-redux
внутренне использует Action, ActionCreator, AnyAction, Dispatch, Store
эти интерфейсы образуют redux
пакет.
в тот момент, когда вы звоните
export default connect(mapStateToProps,mapDispatchToProps)(App);
react-redux
попытаться использовать все эти интерфейсы из redux
пакет. которого нет на данный момент.
Так что, возможно, вам придется установить react-redux
пакет вместе с redux
так как оба имеют зависимость.
npm install --save react-redux redux
Вы можете использовать следующую команду:
используя npm
npm install redux --save
используя пряжу
yarn add redux
Задавать moduleResolution
к узлу вtsconfig.json
Пример:
"compilerOptions": {
"moduleResolution": "node"
}
Я поместил все свои файлы, связанные с redux, в папку src/redux, и после некоторого поиска я обнаружил, что это имя папки может вызывать конфликты. После смены имени папки все работает нормально.
У меня в машинописном тексте это работало следующим образом:
yarn add @types/redux @types/react-redux
(или с
npm
пытаться:
npm install add @types/redux @types/react-redux
)
У меня была такая же проблема при работе с IDE Visual Studio Code (VSC).
import { createStore, combineReducers, applyMiddleware } from 'redux';
Пакет 'redux' решался из другого места все вместе, как зависимость внутри некоторых пакетов машинописного текста.
Я побежал yarn add redux@3.7.2
(с терминалом VSC), чтобы переустановить пакет. Обратите внимание, что у меня была точная версия в моемpackage.json
как зависимость, и это помогает пряжи быстрее связывать зависимости, поскольку моей целью еще не было обновление redux.
Вам нужно установить react-redux, а также библиотеку redux, они оба зависят друг от друга. Не забудьте импортировать его.
npm install --save redux
Просто установите response-redux, если его нет в package.json, используя
npm я реагирую-redux
или установите redux, если его нет в package.json
нпм я сокращение
используя npm:
npm install redux --save
используя пряжу:
пряжа добавить redux