我使用create-react-app
cli创建了一个新的react应用程序。然后使用npm install --save react-redux
添加'react-redux'
库。
在package.json
我有:
"react-redux": "^4.4.5"
不幸的是,应用程序不能编译,它报错:
Error in ./~/react-redux/lib/utils/wrapActionCreators.js
Module not found: 'redux' in C:UsersSalmanDesktopCoursesInternshipReactYoutube-Front-Endnode_modulesreact-reduxlibutils
@ ./~/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"
}
}
您需要安装react-redux,但也需要安装redux库。
npm install --save redux
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
可以使用以下命令:
使用npmnpm install redux --save
使用纱yarn add redux
设置moduleResolution
为节点在tsconfig.json
的例子:
"compilerOptions": {
"moduleResolution": "node"
}
我在使用Visual Studio Code (VSC) IDE时遇到了同样的挑战。
import { createStore, combineReducers, applyMiddleware } from 'redux';
'redux'包被从另一个地方解析,作为一个依赖于一些typescript包。
我运行yarn add redux@3.7.2
(与VSC终端)重新安装包。请注意,我有确切的版本在我的package.json
作为一个依赖,这有助于yarn链接依赖更快,因为我的目标是不升级redux尚未。
我把所有与redux相关的文件放在src/redux文件夹中,经过一番搜索,我发现这个文件夹名称可能会引起冲突。更改文件夹名称后一切正常
对于我来说,在打字稿中它是这样工作的:
yarn add @types/redux @types/react-redux
(或与npm
try: npm install add @types/redux @types/react-redux
)
如果package.json中没有react-redux,请直接安装使用
如果package.json中没有redux,请安装redux
您需要安装react-redux,但也需要安装redux库,两者相互依赖。别忘了导入它。
npm install --save redux
using NPM:
npm install redux
使用纱线:
yarn add redux