我使用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"
}
}
答案 0 :(得分:139)
您需要安装react-redux以及redux库。
npm install --save redux
答案 1 :(得分:6)
react-redux
内部使用Action, ActionCreator, AnyAction, Dispatch, Store
这些接口构成redux
包。
打来电话
export default connect(mapStateToProps,mapDispatchToProps)(App);
react-redux
尝试利用redux
包中的所有这些接口。目前尚不存在。
因此您可能必须与react-redux
一起安装redux
软件包,因为两者都具有依赖性。
npm install --save redux react-redux
答案 2 :(得分:2)
将moduleResolution
设置为位于tsconfig.json
的节点
示例:
"compilerOptions": {
"moduleResolution": "node"
}
答案 3 :(得分:2)
您可以使用以下命令:
使用npm
yarn add redux
使用纱线
ChangeDetectorRef.detectChanges();
答案 4 :(得分:1)
我将所有与 redux 相关的文件放在 src/redux 文件夹中,经过一番搜索,我发现此文件夹名称会导致冲突。更改文件夹名称后一切正常。
答案 5 :(得分:0)
在使用Visual Studio Code(VSC)IDE时,我遇到了同样的挑战。
import { createStore, combineReducers, applyMiddleware } from 'redux';
“ redux”包正从另一个地方解析,作为某些打字稿包中的依赖项。
我运行了yarn add redux@3.7.2
(使用VSC终端)以重新安装软件包。请注意,我在package.json
中拥有确切的版本作为依赖项,这有助于yarn更快地链接依赖项,因为我的目标是尚未升级redux。
答案 6 :(得分:-1)
使用 npm :
npm install redux --save
使用纱线:
纱线添加还原