web-dev-qa-db-ja.com

モジュールが見つかりません: 'redux'

create-react-app cliを使用して、新しい反応アプリケーションを作成しました。次に、'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"
  }
}
62

React-reduxだけでなくreduxライブラリもインストールする必要があります。

npm install --save redux
142
Borjante

react-reduxは内部でAction, ActionCreator, AnyAction, Dispatch, Storeを使用し、これらのインターフェイスはreduxパッケージを形成します。

あなたが呼ぶ瞬間

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

react-reduxは、reduxパッケージのこれらすべてのインターフェースを利用しようとします。現時点では存在しません。

したがって、両方とも依存関係があるため、reduxとともにreact-reduxパッケージをインストールする必要があります。

 npm install --save redux react-redux
6
Amruth LS