react+typescript实践总结

简介: typescript语法参考 react参考1、给绑定在dom上的方法传参1.1定义getDetailByBookId = (id: string) => { console.

typescript语法参考
react参考

1、给绑定在dom上的方法传参

1.1定义

getDetailByBookId = (id: string) => {
  console.log(id)
}

1.2调用

<a data-id={book._id.$oid} 
onClick={this.getDetailByBookId.bind(this, book._id.$oid)}>
详情</a>

2、行内式css取值为变量的写法

style={{ display: `${this.state.custom_window_state}`,
 minWidth: `${this.state.minWidth_name}`}}

3、typescript语法编写react组件的代码基础结构

import * as React from 'react'
interface IState {
  test1?: string
  test2?: string
}
export interface IProps {
  empty?: any
 }
export default class CompontentName extends React.Component<IProps, IState> {
     // 这里初始化组件的全局变量
     map:any
     constructor(props: IProps, state: IState) {
          super(props)
          this.state = {
                 test1: '',
                 test2: ''
           }
      }
      render() {
           return (
              <div>
                   {dom or compontent}

              </div>
          )
     }
}

4、typescript中接口定义及使用

注意接口写在class外部,数据的使用在class内部

 // 定义IList接口 
interface IList {
  title: string
}

 // 使用IList接口
data: IList[] = [
    {
      title: 'Ant Design Title 1',
    },
    {
      title: 'Ant Design Title 2',
    },
    {
      title: 'Ant Design Title 3',
    },
    {
      title: 'Ant Design Title 4',
    }
  ]

5、react+typescript实现子组件调用父组件方法的效果

5.1组件结构

A组件里面引用了B组件,B组件里面引用了C组件
这里写图片描述

5.2实现步骤

如图C组件想要调用A组件中的方法-getBooks,首先C组件需要向外暴露接口

interface IProps {
  onComplete?: () => void
 }

并且在C组件需要的地方做该方法的调用

self.props.onComplete!()

此时B组件中
B组件对C组件的引用为:


<C onComplete={this.fatherComplete }/>

因为C组件想要调用的方法是在A组件中,所以B组件首先要实现C组件暴露的接口,同时向外继续暴露接口
B组件向外暴露接口

interface IProps {
  onComplete?: () => void
}

B组件实现C组件暴露的接口

fatherComplete = () => {
    this.props.onComplete!()
}

A组件中
A组件对B组件的引用为:

<B onComplete={this.addFormComplete} />

A组件继续实现B组件暴露给他的接口,此时C组件想要调用的getBooks方法就在该组件中就可以直接做this.getBooks的调用

addFormComplete = () => {
    this.getBooks()
 }

然后就可以实现C组件调用A组件中getBooks方法的效果

目录
相关文章
|
2月前
|
前端开发 JavaScript 测试技术
从零开始搭建react+typescript+antd+redux+less+vw自适应项目
从零开始搭建react+typescript+antd+redux+less+vw自适应项目
60 0
|
2月前
|
前端开发 定位技术 API
react+typescript接入百度地图
react+typescript接入百度地图
53 0
|
2月前
|
JavaScript
react+typescript通过window.xxx挂载属性报错的解决方案
react+typescript通过window.xxx挂载属性报错的解决方案
43 0
|
10天前
|
JavaScript 前端开发 安全
【TypeScript技术专栏】TypeScript在Electron桌面应用中的实践
【4月更文挑战第30天】本文介绍了如何在Electron桌面应用中采用TypeScript以提升代码质量和可维护性。Electron利用Chromium和Node.js让前端开发者能创建桌面应用,而TypeScript的强类型系统和高级语言特性有助于管理复杂项目。通过初始化项目、安装依赖、配置TypeScript、编写主进程和渲染进程代码,开发者可以在Electron中实践TypeScript。一个简单的文本编辑器案例展示了TypeScript在确保类型安全方面的优势。尽管有学习成本,但TypeScript对大型Electron项目来说是值得的。
|
10天前
|
传感器 JavaScript 前端开发
【TypeScript技术专栏】TypeScript在大型项目中的实践与挑战
【4月更文挑战第30天】TypeScript在大型前端项目中日益流行,以其类型系统和ES6+支持提升代码安全与维护性。然而,采用 TypeScript 面临学习曲线、构建时间增加及类型推断挑战。通过最佳实践和成熟工具链(如 tsc、tslint 和 Visual Studio Code)可克服这些问题。案例如Angular、Basecamp和Slack已成功应用TypeScript。掌握TypeScript对提升开发者技能和市场竞争力至关重要。
|
11天前
|
JavaScript 前端开发 开发者
【TypeScript技术专栏】TypeScript与React的完美结合
【4月更文挑战第30天】React和TypeScript在前端开发中备受推崇。React以其组件化、高性能和灵活的生态系统引领UI构建,而TypeScript通过静态类型检查和面向对象特性增强了代码的健壮性和可维护性。两者结合,能提升开发效率,降低错误,使React组件结构更清晰。通过安装TypeScript,配置tsconfig.json,然后用TypeScript编写和打包代码,可实现两者的无缝集成。这种结合为前端开发带来更强的代码质量和团队协作效果,随着技术发展,其应用将更加广泛。
|
11天前
|
前端开发 JavaScript 安全
【亮剑】探讨了在React TypeScript应用中如何通过道具(props)传递CSS样式,以实现模块化、主题化和动态样式
【4月更文挑战第30天】本文探讨了在React TypeScript应用中如何通过道具(props)传递CSS样式,以实现模块化、主题化和动态样式。文章分为三部分:首先解释了样式传递的必要性,包括模块化、主题化和动态样式以及TypeScript集成。接着介绍了内联样式的基本用法和最佳实践,展示了一个使用内联样式自定义按钮颜色的例子。最后,讨论了使用CSS模块和TypeScript接口处理复杂样式的方案,强调了它们在组织和重用样式方面的优势。结合TypeScript,确保了样式的正确性和可维护性,为开发者提供了灵活的样式管理策略。
|
18天前
|
JavaScript 前端开发
TypeScript中使用命名空间组织代码:原理与实践
【4月更文挑战第23天】了解TypeScript的命名空间用于组织代码,防止命名冲突,提升可读性。通过`namespace`关键字定义,如`namespace MyNamespace {...}`。访问元素时需指明命名空间,如`MyNamespace.myFunction()`。可嵌套命名空间,但应避免过度使用导致复杂。考虑使用模块代替,保持命名空间简洁。命名空间是代码组织的有效工具,但需结合实际情况灵活选择。
|
18天前
|
JavaScript 编译器 开发者
TypeScript中的类型推断机制:原理与实践
【4月更文挑战第23天】TypeScript的类型推断简化编码,提高代码可读性。编译器基于变量初始值或上下文推断类型,若新值不兼容则报错。文章深入探讨了类型推断原理和实践,包括基本类型、数组、函数参数与返回值、对象类型的推断,并提醒注意类型推断的限制,如非万能、类型兼容性和适度显式指定类型。了解这些能帮助更好地使用TypeScript。
|
1月前
|
JavaScript 前端开发 IDE
TypeScript在大型前端项目中的价值与实践策略
【4月更文挑战第7天】本文探讨了TypeScript在大型前端项目中的价值和实践策略。 TypeScript通过静态类型检查、代码提示、接口与泛型提高代码质量和开发效率。在大型项目中,可采用逐步迁移策略,制定类型规范,利用IDE特性,并维护类型定义文件。通过CI/CD和培训分享,团队能充分发挥TypeScript优势,提升项目可维护性、可扩展性和开发效率。
22 0