react+typescript给state和props定义指定类型

简介: react+typescript给state和props定义指定类型


背景

在react+typescript编写代码的时候,提示类型“Readonly<{}>”上不存在属性“xxx”

这是因为state和props没有定义类型导致的。

解决办法

  • 法一
    给state和props都定义指定类型
import React, { Component } from 'react';
type StateType = {
  username: string;
};
type propType = {
  name: string;
  [propName: string]: any;
};
interface User {
  state: StateType;
  props:propType
}
class User extends Component {
  constructor(props: any) {
    super(props);
    this.state = {
      username: '李四'
    }
  }
  render() {
    return (
      <div>
        <div className="title">用户名{this.state.username}</div>
        <div className="title">用户名{this.props.name}</div>
      </div>
    )
  }
}
export default User

法二:

React.Component改成React.Component<any, any>

但是不推荐这样,因为这样就失去了ts检测类型的意义

import React, { Component } from 'react';
export default class User extends Component<any, any> {
  constructor(props: any) {
    super(props);
    console.log(props);
    this.state = {
      username: '李四'
    }
  }
  render() {
    return (
      <div>
        <div className="title">用户名{this.state.username}</div>
        <div className="title">用户名{this.props.name}</div>
      </div>
    )
  }
}

文章参考

https://www.cnblogs.com/llcdbk/p/13029996.html

目录
相关文章
|
1月前
|
前端开发 JavaScript 测试技术
从零开始搭建react+typescript+antd+redux+less+vw自适应项目
从零开始搭建react+typescript+antd+redux+less+vw自适应项目
49 0
|
1月前
|
前端开发 定位技术 API
react+typescript接入百度地图
react+typescript接入百度地图
45 0
|
1月前
|
JavaScript
react+typescript通过window.xxx挂载属性报错的解决方案
react+typescript通过window.xxx挂载属性报错的解决方案
34 0
|
5天前
|
JavaScript 前端开发 编译器
TypeScript中的高级类型:联合类型、交叉类型与条件类型深入解析
【4月更文挑战第23天】探索TypeScript的高级类型。这些特性增强类型系统的灵活性,提升代码质量和维护性。
|
1月前
|
JavaScript 安全
TypeScript 中的高级类型转换技术:映射类型、条件类型和类型推断
TypeScript 中的高级类型转换技术:映射类型、条件类型和类型推断
|
1月前
|
前端开发 JavaScript 安全
使用React、TypeScript和Ant Design构建现代化前端应用
使用React、TypeScript和Ant Design构建现代化前端应用
27 0
|
3月前
|
设计模式 前端开发 数据可视化
【第4期】一文了解React UI 组件库
【第4期】一文了解React UI 组件库
103 0
|
3月前
|
存储 前端开发 JavaScript
【第34期】一文学会React组件传值
【第34期】一文学会React组件传值
31 0
|
3月前
|
前端开发
【第31期】一文学会用React Hooks组件编写组件
【第31期】一文学会用React Hooks组件编写组件
35 0
|
3月前
|
资源调度 前端开发 JavaScript
React 的antd-mobile 组件库,嵌套路由
React 的antd-mobile 组件库,嵌套路由
40 0