Nie znaleziono modułu: „redux”

82

create-react-appStworzyłem nową aplikację React przy użyciu cli. Następnie dodałem 'react-redux'bibliotekę za pomocąnpm install --save react-redux .

W package.jsonmam:

"react-redux": "^4.4.5"

Niestety aplikacja się nie kompiluje i narzeka na:

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

Nie mam pojęcia, co to znaczy?

Oto kompletny pojemnik:

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);

Tutaj jest kompletna 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"
  }
}
Jimmy
źródło

Odpowiedzi:

223

Musisz zainstalować bibliotekę react-redux, ale także bibliotekę redux.

npm install --save redux
Borjante
źródło
5
shorthand ... npm i -S redux
Justin Russo
to jest zależność od deweloperów czy zależność jak reagowanie?
ValRob
Nie, normalna zależność
Borjante
1
nie ma potrzeby umieszczania --zapisz. npm install --save reduxi npm install install reduxsą takie same ( --saveopcja domyślna) doc
Gaspar
$ npm i -S redux # OR $ przędza dodaj redux
xgqfrms
14

react-reduxwewnętrznie używa Action, ActionCreator, AnyAction, Dispatch, Storetych interfejsów w postaci reduxpakietu.

w chwili, gdy dzwonisz

export default connect(mapStateToProps,mapDispatchToProps)(App);

react-reduxspróbuj wykorzystać wszystkie te interfejsy z reduxpakietu. którego w tej chwili nie ma.

Więc być może będziesz musiał zainstalować react-reduxpakiet wraz z, reduxponieważ oba mają zależności.

 npm install --save redux react-redux
Amruth LS
źródło
2

Ustaw moduleResolutionna węzeł wtsconfig.json

Przykład:

  "compilerOptions": {
    "moduleResolution": "node"
  }
Ricardo Rivas
źródło
2

Możesz użyć następującego polecenia:

używając npm

npm install redux --save

za pomocą przędzy

yarn add redux
Khabir
źródło
1

Miałem to samo wyzwanie podczas pracy z Visual Studio Code (VSC) IDE.

import { createStore, combineReducers, applyMiddleware } from 'redux';

Pakiet 'redux' był rozwiązywany z innego miejsca razem, jako zależność w niektórych pakietach maszynopisów.

Pobiegłem yarn add [email protected](z terminalem VSC), aby ponownie zainstalować pakiet. Zauważ, że miałem dokładną wersję w ramach mojej package.jsonzależności, a to pomaga przędzy w szybszym łączeniu zależności, ponieważ moim celem nie było jeszcze ulepszenie Redux.

MwamiTovi
źródło