Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Module not found: 'redux'

I have create a new react application using create-react-app cli. Then i have added the 'react-redux' library using npm install --save react-redux.

In package.json I have:

"react-redux": "^4.4.5" 

Unfortunately, the app doesn't compile and it complains with:

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 

I have no idea what does it mean?

Here is the complete container:

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

Here is complete 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"   } } 
like image 457
Sal-laS Avatar asked Oct 17 '16 09:10

Sal-laS


People also ask

Which npm packages are required to integrate Redux With react application?

React Redux 8.0 requires React 16.8. 3 or later (or React Native 0.59 or later). You'll also need to install Redux and set up a Redux store in your app. This assumes that you're using npm package manager with a module bundler like Webpack or Browserify to consume CommonJS modules.


2 Answers

You need to install react-redux but also redux library.

npm install --save redux 
like image 187
Borjante Avatar answered Oct 26 '22 18:10

Borjante


react-redux internally uses Action, ActionCreator, AnyAction, Dispatch, Store these interfaces form redux package.

the moment you call

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

react-redux try to make use of all these interfaces from redux package. which is not present at the moment.

So you may have to install react-redux package along with redux since both have dependency.

 npm install --save redux react-redux 
like image 35
Amruth Avatar answered Oct 26 '22 17:10

Amruth