1.前提

  我用  npx create-react-app my-react-ts-app --template typescript  创建了一个应用,加了typescript到项目中;

  问题来了,我在文件引入'react-redux'包,却红线提示我:

  无法找到模块“react-redux”的声明文件  

  try npm install @types/react-redux

  或者 declare module 'react-redux'

import { Provider } from 'react-redux';

2.解决办法

  (根据提示来解决,真是个小机智girl)

  方式1:  try  npm install @types/react-redux  ,库有自己的声明文件

    NPM安装的格式:   npm install @types/<package-name>

    这样很好,因为我们只需要安装这个库,就可以立即使用它了。要知道一个库是否包含类型,看库中是否有 index.d.ts 文件。

    有些库会在 package.json 文件的 typings 或 types 属性中指定类型文件。

    需要注意的是:该库包含了自己的声明文件时只需要安装就好,如果没有再从 DefinitelyTyped 获取它的声明文件(也就是npm安装)

  方式2:   declare module 'react-redux'   自给自足

    如果这个库没有自己的声明文件,那么就需要动手创建一个定义文件了

    首先在根目录下创建文件夹‘typings’

    再新建文件'react-redux.d.ts'

/typings/react-redux.d.ts
declare module 'react-redux'{
  const content: any;
  export = content;
}

    然后在ts配置文件中加入'typings'    

    大功告成,噢耶~

【分享】用typescript结合react编写代码,引入第三方库模块报错的解决办法的更多相关文章

  1. vue2y引入iview,在ie11报错的解决办法

    在ie11中打开vue项目一片空白,F12打开控制台发现如下错误 只需要在build/webpack.base.conf.js中加一行代码即可

  2. react项目中引入百度地图打包报错问题

    一.我正常引入百度地图,调试时候是好使的,但是打包时候就报错 引入方法如下: 报错如图 正常调试是好使的,但是打包报这个错,解析不了这个BMap,那么怎么办呢? 然后我就转用了window办法,虽然因 ...

  3. net::ERR_ABORTED ,引入js文件出现报错的解决方法

    在head头里面添加 <mvc:annotation-driven enable-matrix-variables="true"></mvc:annotation ...

  4. 【学而思】利用shouldComponentUpdate钩子函数优化react性能以及引入immutable库的必要性

    凡是参阅过react官方英文文档的童鞋大体上都能知道对于一个组件来说,其state的改变(调用this.setState()方法)以及从父组件接受的props发生变化时,会导致组件重渲染,正所谓&qu ...

  5. 【react】利用shouldComponentUpdate钩子函数优化react性能以及引入immutable库的必要性

    凡是参阅过react官方英文文档的童鞋大体上都能知道对于一个组件来说,其state的改变(调用this.setState()方法)以及从父组件接受的props发生变化时,会导致组件重渲染,正所谓&qu ...

  6. TypeScript 引入第三方包,报无法找到模块错误

    以 react-router-dom 模块为例 1. npm加上 @types/ 根据报错提示尝试安装该库的TypeScript版本 (该库的 ts 声明文件),也就是在该库的名称前加上 @types ...

  7. Swift项目引入第三方库的方法

    以下,将创建一个Swift项目,然后引入3个库: Snappy 简化autolayout代码的库 Alamofire HTTP网络库,AFNetworking作者写的 SDWebImage 图片加载, ...

  8. 【初识TypeScript】 配置环境后运行Hello World编译报错.

    第一次接触TypeScript,配置好环境后, 发现连编写个最基本的Hello World都报错,代码如下: const hello:string = "Hello World!" ...

  9. cmake引入第三方库的debug和release版本之Windows版本

    概述 本文将介绍cmak引入第三方库debug和release不同配置. Windows上,习惯将debug模式下生成的动态库名后缀添加D 以作和release区分.cmake创建一个项目A,A引入动 ...

  10. python中引入包的时候报错AttributeError: module 'sys' has no attribute 'setdefaultencoding'解决方法?

    python中引入包的时候报错:import unittestimport smtplibimport timeimport osimport sysimp.reload(sys)sys.setdef ...

随机推荐

  1. go语言学习 “go.mod file not found”

    遇到问题:安装go 的win安装包后 执行第一个代码: package main import "fmt" func main() { fmt.Println("Hell ...

  2. conda 安装pytorch

    配置:win 10 ,python=3.6 安装pytorch-1.1.0,cudatoolkit-9.0,torchvision-0.3.0. 出现的问题:import torch 的时候,出现了O ...

  3. odoo openErp 随笔

    环境: win7 x64 Python 2.7.18 nodejs pip: C:\> python --version C:\> pip --version C:\> cd \Co ...

  4. 如何使用Typora写出自己的第一个博客

    markdown的使用说明 一.标题 语法:# 这是一级标题 ##这是二级标题...... 代码: # 这是一级标题 ## 这是二级标题 快捷键: Ctrl+数字:数字1-6可以快速将选中的文本调成对 ...

  5. RealNet:从数据生成到模型训练的最新工业异常检测 | CVPR 2024

    论文提出了一种创新的自监督异常检测框架RealNet,集成了三个核心组件:可控制强度的扩散异常合成(SDAS).异常感知特征选择(AFS)和重构残差选择(RRS).这些组件通过协同作用,使RealNe ...

  6. Linux-centos中修改默认root帐户的登录用户名

    vi /etc/passwd 按i键进入编辑状态 修改第1行第1个root为新的用户名 按esc键退出编辑状态,并输入:x保存并退出 vi /etc/shadow 按i键进入编辑状态 修改第1行第1个 ...

  7. 使用分布式锁解决IM聊天数据重复插入的问题

    导航 业务背景 问题分析与定位 探索可行的解决方案 数据库层面处理--唯一索引 应用程序层面处理--分布式锁 分布式锁概述 分布式锁需要具备哪些特性? 分布式锁有哪些实现方式? 基于数据库的实现方式 ...

  8. git使用问题记录

    hint: Updates were rejected because the remote contains work that you do 问题原因: 远程仓库中含有本地仓库没有的文件 直接拉取 ...

  9. Elementui 给输入框加上单位

    效果图: 具体代码: <el-input class="el-col-12" v-model="value.projectLevel" :disabled ...

  10. 常用 DNS 查询速度测试

    测试工具 DNS-Benchmark | GitHub 总结 进过多轮测试,我认为: 223.5.5.5 和 223.6.6.6 平均响应时间最短(223.5.5.5 在教育网内疑似无法连通) 114 ...