美文网首页
react 实现一个开关组件

react 实现一个开关组件

作者: Aliyunyun | 来源:发表于2016-10-11 14:00 被阅读596次

React的组件需要和用户互动,需要修改state,当state的状态发现改变的时候,就会触发重新渲染UI。

代码:

export class ModeButton extends React.Component {  
constructor(props) {  
  super(props);   
  this.state = {   
     touchState: true  
  } 
 } 
 touchStart() { 
   console.log("touch");  
  // this.setState()  给属性复制,只用通过setState这个方法触发才会刷新View层  
  this.setState({touchState: !this.state.touchState}); 
 } 
 render() { 
   var src = '../images/' + "childlock" + (this.state.touchState? '-on' : '-off') + '@3x.png';  
   return <div className={this.props.className} onTouchStart={this.touchStart.bind(this)}>     
     <img src={src} />      
     <p >{this.props.text}</p> 
   </div>; 
 }
};

使用:

<div>  
   <p>About me!!!!!</p> 
   <ModeButton className="modeButton" text = "开关"/>
</div>

这里涉及到react的几个知识点:
1、props
2、state

props就是可以从上级节点继承过来的属性,就是属性和组件一一对应。
className从外面传进来,方便外面做CSS布局
text也从外面赋值,增加灵活性

state是用来实现动态刷新界面的。onTouchStart绑定 touchStart()函数
使用了setState() 才会重绘

相关文章

  • react 实现一个开关组件

    React的组件需要和用户互动,需要修改state,当state的状态发现改变的时候,就会触发重新渲染UI。 代码...

  • 拯救react的hooks:react的问题和hooks的作用

    react组件和react组件逻辑复用 react是一个视图层组件方案,最核心的功能就是绑定视图与数据和逻辑,实现...

  • 如何创建React组件并发布到npm?

    实现步骤: 创建React组件项目; 创建测试项目并引用组件; 发布React组件到npm上; 一、创建React...

  • React 性能优化之 setState

    React 组件状态 React 把组件看成是一个状态机(State Machines)。通过与用户的交互,实现不...

  • react实现antd Notification组件

    antd有个Notification组件用于全局通知提醒, 现在用react实现一个相同的组件。 思考这个组件: ...

  • React 实现组件拖拽功能

    ##实现React组件的拖拽功能 HTML5原生支持拖拽功能,没有看过相关文档,恰好自己想实现一下React组件...

  • 前端技术应用复杂场景

    React和Vue 1. 组件开发 使用React和Vue开发一个复杂组件,包含复杂逻辑的展示,比如实现一个复杂的...

  • react学习笔记

    React笔记 创建项目 入口文件 组件构成 子组件对父组件的校验等 React的虚拟Dom实现原理 state数...

  • 学习并实现react (4)

    实现生命周期 生命周期介绍 React 生命周期图 React 子组件在父组件下的生命周期流程 实现 compon...

  • react-router 入门笔记

    React-router 笔记 官方文档 基本思路 react-router 通过react 组件的方式实现, 路...

网友评论

      本文标题:react 实现一个开关组件

      本文链接:https://www.haomeiwen.com/subject/swcbyttx.html