create-react-app
Stworzyłem nową aplikację React przy użyciu cli. Następnie dodałem 'react-redux'
bibliotekę za pomocąnpm install --save react-redux
.
W package.json
mam:
"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"
}
}
reactjs
react-redux
Jimmy
źródło
źródło
npm install --save redux
inpm install install redux
są takie same (--save
opcja domyślna) docreact-redux
wewnętrznie używaAction, ActionCreator, AnyAction, Dispatch, Store
tych interfejsów w postaciredux
pakietu.w chwili, gdy dzwonisz
export default connect(mapStateToProps,mapDispatchToProps)(App);
react-redux
spróbuj wykorzystać wszystkie te interfejsy zredux
pakietu. którego w tej chwili nie ma.Więc być może będziesz musiał zainstalować
react-redux
pakiet wraz z,redux
ponieważ oba mają zależności.źródło
Ustaw
moduleResolution
na węzeł wtsconfig.json
Przykład:
"compilerOptions": { "moduleResolution": "node" }
źródło
Możesz użyć następującego polecenia:
używając npm
za pomocą przędzy
źródło
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 mojejpackage.json
zależności, a to pomaga przędzy w szybszym łączeniu zależności, ponieważ moim celem nie było jeszcze ulepszenie Redux.źródło