您的位置:首页 > 游戏 > 游戏 > React+TS 从零开始教程(2):简中简 HelloWolrd

React+TS 从零开始教程(2):简中简 HelloWolrd

2025/1/15 14:07:57 来源:https://blog.csdn.net/weixin_39570751/article/details/139907856  浏览:    关键词:React+TS 从零开始教程(2):简中简 HelloWolrd

源码链接:https://pan.quark.cn/s/c6fbc31dcb02

这一节,我们来见识React+TS的威力,开始上手开发第一个组件,什么组件呢?
当然是简中简的 HelloWolrd组件啦。
在src下创建一个components,然后新建Hello.tsx
image.png
为什么是tsx呢,这个目的就是告诉编译器,我这个文件是支持jsx语法的,如果遇到你看不懂的标签,就当作React Element来处理。
这个组件,我们只有一个要求,就是输入一个属性叫做message,然后展示出来即可。
够简单吧,简直是简中简,弟中弟的组件哈。
但是,依然很有学习的价值。
代码如下:

import React from "react";const Hello = (props:any) => {return <h2>{props.message}</h2>
}export default Hello;

然后,我们在App.tsx中引用这个组件。
image.png
效果:
image.png

改进1.不要any,改成接口

React大道至简的哲学,一个组件就是一个函数,再导出去就完事,没有什么花花肠子。
但是,我们这个组件过于简单了,any我们不推荐使用,所以改成接口来限制组件的传参。

interface IProps {message : string
}const Hello = (props:IProps) => {return <h2>{props.message}</h2>
}

这样一来,使用组件的地方就不能随便传参了。
image.png
看截图,不能传number了,必须string

改进2.FunctionComponents

interface IProps {message ?: string
}const Hello : React.FunctionComponent <IProps> = (props) => {return <h2>{props.message}</h2>
}//给属性设置默认值
Hello.defaultProps = {message: 'Hello world!'
}export default Hello;

React.FunctionComponent 是一种自定义的类型,表示当前组件是函数组件,也可以简写成React.FC
message通过?:变成可选的,并通过Hello.defaultProps给属性设置默认值。然后在调用的地方,就允许不传message了。
image.png

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com