文档详情

使用React组件编写温度显示器.docx

发布:2025-05-31约2.24千字共4页下载文档
文本预览下载声明

使用React组件编写温度显示器

本文实例为大家分享了React组件编写温度显示器的具体代码,供大家参考,具体内容如下

这是模拟了一下温度显示器的效果,先看效果:

先在页面中引入React等;

importReactfromreact;

importReactDOMfromreact-dom;

import./index.css;//页面的样式文件

开发过程是这样的:

首先定义一个BoillingVerdict组件,用来显示温度显示器的(样式先不写,在后面一起上代码)(温度显示器上的数字不是温度;),

//显示温度计算器文字的函数组件(最高300摄氏度)

functionBoillingVerdict(props){

?return(

??divclassName=outer

???divclassName=inner%,background:props.bg,}}

????{props.height}

???/div

??/div

}

然后,创建一个名为Calculator的组件,用于渲染控制温度的输入框和温度显示器组件,

classCalculatorextendsReact.Component{

?//构造函数,可以用于初始化state

?constructor(props){

??super(props);

??this.state={

???temperature:0,//温度

???tempHeight:0,//温度显示器背景色高度

???bg:#fff,//温度显示器颜色

??};

??//为tempChange方法绑定this,否则该方法中拿不到this

??this.tempChange=this.tempChange.bind(this);

?tempChange(e){?

??//判断温度值大小来设置颜色

??varcolors=

???Number(e.target.value)90#0F1CED:Number(e.target.value)80#D5D70B:

???Number(e.target.value)70#0BD737:Number(e.target.value)60#0BD7CA:

???Number(e.target.value)50#ED194B:Number(e.target.value)40#AE1FD2:

???Number(e.target.value)30skyblue:Number(e.target.value)20blue:

???Number(e.target.value)10orange:#671552;

??varheight=(Number(e.target.value)/3).toFixed(2);

??this.setState({

???temperature:e.target.value,

???tempHeight:height,

???bg:colors,

??});

?render(){

??return(

???fieldset

????legend温度:/legend

????inputvalue={this.state.temperature}onChange={this.tempChange}type=number/input

????BoillingVerdictheight={this.state.tempHeight}bg={this.state.bg}/BoillingVerdict

???/fieldset

??);

}

然后渲染:

ReactDOM.render(Calculator/Calculator,document.getElementById(root12));

index.css

.outer{

?width:80px;

?height:300px;

?border:1pxsolidblack;

?border-radius:20px;

?overflow:hidden;

?background:#fff;

?margin-top:10px;

?position:relative;

?text-align:c

显示全部
相似文档