React三大属性

news/2024/7/15 17:12:46 标签: react.js, javascript, 前端

我是南城余!阿里云开发者平台专家博士证书获得者!

欢迎关注我的博客!一同成长!

一名从事运维开发的worker,记录分享学习。

专注于AI,运维开发,windows Linux 系统领域的分享!

知识库链接:

D2 · 语雀


组件的实例对象三大属性

这三个核心都是建立在类定义的组件上,因为函数建立的组件没有,因此称为组件的实例对象三大属性

1. state的简写方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>hello,React study by nanchengyu</title>
</head>
<body>
<div id="test"></div>
<!--引入React核心库 引入顺序有要求必须按照下方1在2前-->
<script type="text/javascript" src="../js/react.development.js"></script>
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<script type="text/javascript" src="../js/babel.min.js"></script>

<script type="text/babel">  /*此处一定要写babel*/
//1.创建类组件
class Weather extends React.Component {
    //1.1 初始化状态
    state ={isHot:false,wind:'微风'}
    render() {
        //读取状态
        const {isHot,wind} = this.state
        return <h2 onClick={this.changeWeather}>今天天气很{isHot ? '炎热' : '凉爽'},{wind}</h2>
    }

    //1.2 自定义方法 用赋值语句的形式+箭头函数
    changeWeather =()=>{
        const isHot = this.state.isHot
        this.setState({isHot:!isHot})
    }

}

//2.渲染组件到test上
ReactDOM.render(<Weather/>, document.getElementById('test'))
</script>


</body>
</html>

2. props的简写

props 用于从父组件传递数据给子组件,而 state 用于管理组件内部的状态。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>hello,React study by nanchengyu</title>
</head>
<body>
<div id="test"></div>
<div id="test1"></div>
<div id="test2"></div>
<!--引入React核心库 引入顺序有要求必须按照下方1在2前-->
<script type="text/javascript" src="../js/react.development.js"></script>
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<script type="text/javascript" src="../js/babel.min.js"></script>
<!--用于对组件标签属性的限制-->
<script type="text/javascript" src="../js/prop-types.js"></script>

<script type="text/babel">  /*此处一定要写babel*/
//1.创建类组件
class Person extends React.Component {

  static propTypes = {
        name:PropTypes.string.isRequired, /*对Person类的属性进行限制*/
        sex:PropTypes.string,
        age:PropTypes.number,
        speak:PropTypes.func,
    }
  static defaultProps = {
        sex: '男', age: 18
    }
    //状态写在属性后面

    // state ={isHot:false,wind:'微风'}
    render() {
        //读取状态
        const {name, age, sex} = this.props //props是只读状态
        
        return (
            <ul>
                <li>姓名:{name}</li>
                <li>年龄:{age}</li>
                <li>性别:{sex}</li>
            </ul>
        )
    }

}




//2.渲染组件到test上
ReactDOM.render(<Person name="ncy" age={20} sex="男" speak="1"/>, document.getElementById('test'))
ReactDOM.render(<Person name="nanchengyu" age={20} sex="男"/>, document.getElementById('test1'))
ReactDOM.render(<Person name="wife" age={20} sex="女"/>, document.getElementById('test2'))

// function speak(){
//     console.log("全网同名:南城余")
// }
</script>


</body>
</html>

3. refs

refs类似于原生的id标签 用于表示html标签<>


http://www.niftyadmin.cn/n/5342315.html

相关文章

php:规范小数位数,例:10.00展示为10,10.98展示为10.98

代码 <?php$value 10.98; // 原始的双精度类型值if ($value floor($value)) {$formattedValue number_format($value, 0); // 10.00 转换为 10echo $formattedValue;} else {$formattedValue number_format($value, 2); // 10.98 保持为 10.98echo $formattedValue;} …

WPF多值转换器

背景&#xff1a;实现Slider拖动可以调整rgb 单转换器&#xff1a;WPF中数据绑定转换器Converter-CSDN博客 在View中&#xff1a; <StackPanel Orientation"Vertical"><Slider x:Name"slider_R" Minimum"0" Maximum"255" Wi…

某为面试经历

今天华为HR第三次给我打电话了 我说研究生阶段想搞算法&#xff0c;HR说帮我申请到算法岗&#xff08;我当时就懵了&#xff0c;本科生搞算法&#xff1f;&#xff09;。我说我现在不会算法&#xff0c;HR说让人带我&#xff0c;说在工业届搞算法比学校里搞算法更有用。HR还说除…

Python基础之文件操作(I/O)

和其他编程语言一样&#xff0c;Python 也具有操作文件&#xff08;I/O&#xff09;的能力&#xff0c;比如打开文件、读取和追加数据、插入和删除数据、关闭文件、删除文件等。合理应用python提供的文件操作基本函数&#xff0c;可大大提高自动化实现的效率与框架代码的稳定性…

Mysql的骚操作说明

Mysql的常规操作 记录些不常用,但是很实用的操作,旨在在MySQL语言能解决的批量操作的问题,不动用其他动态或静态语言的辅助。 1、FROM_UNIXTIME 时间戳转时间格式 select scode,sid,gender,type,FROM_UNIXTIME(report_time) as report_time,FROM_UNIXTIME(add_time) as add…

仓储管理系统——软件工程报告(需求分析)②

需求分析 一、系统概况 仓库管理系统是一种基于互联网对实际仓库的管理平台&#xff0c;旨在提供一个方便、快捷、安全的存取货物和查询商品信息平台。该系统通过在线用户登录查询&#xff0c;可以线上操作线下具体出/入库操作、查询仓库商品信息、提高仓库运作效率&#xff…

unity项目《样板间展示》开发:火焰和UI设计

第二章&#xff1a;火焰和UI设计 前言一、火焰模型管理灶台火焰壁炉火焰 二、电视机播放三、UI设计结语 前言 这次带大家从0到1做一个unity项目&#xff1a;《样板间展示》。 顾名思义&#xff0c;项目内容是展示样板间&#xff0c;即玩家可以与房间中的物体、家具进行交互。 至…

免费可用的ChatGPT替代方案

最近ChatGPT又不好访问了&#xff0c;整理了一些可以替代的方案&#xff0c;测了下可以使用&#xff0c;按照自己的喜好选择。 国外可用的GPT Poe - Fast, Helpful AI Chat - 它提供了对GPT-4、gpt-3.5-turbo、Anthropic的Claude以及其他多种机器人的访问权限。HuggingChat -…