Модуль не найден: '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

Другие вопросы по тегам