React 认知 五 state 状态

React 中state状态 在其中具有灵魂的意义。

千变万化,使程序更活跃。

<!DOCTYPE html>
<html>
<head>
    <meta CHARSET="UTF-8">
    <title></title>

    <!--react.js 是react的核心库-->
    <script src="./build/react.js"></script>
    <!--react-dom.js 提供与dom相关的功能-->
    <script src="./build/react-dom.js"></script>
    <!--browser.main.js 将jsx转化为js语法-->
    <script src="./build/browser.min.js"></script>
    <!--<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.24/browser.min.js"></script>-->
</head>
<body>
<!--React 渲染的模板内容 会插入到这个dom节点中,作为一个容器-->
<div id="container">

</div>

</body>
<!--在react的开发中 使用jsx 跟js不兼容 在使用是 使用babel-->
<!--babel是一个转换编译器,es6转换成浏览器运行的代码-->
<script type="text/babel">
    //此处 编写react
    /*
     事件处理
     react 中事件 名称 首字母小写 驼峰命名方法
     案例:定义一个组件,组件中包含一个button 给button绑定onclick事件
     */
    /* let MyButton = React.createClass({
     handleClick: function () {
     alert("点击按钮触发的效果");
     },
     render: function () {
     return (
     <button onClick={this.handleClick}>{this.props.buttonTitle}</button>
     );
     }
     });

     ReactDOM.render(
     <MyButton buttonTitle="按钮"/>
     ,
     document.getElementById("container")
     )*/
    /*
     state 状态
     props
     组件自身的属性

     需求:创建一个组件CheckButton的组件,包含一个checkbox类型的<input>
     复选框在钻中和未选中的两种状态下会显示不同的文字,根据状态渲染
     */

    /* let CheckButton = React.createClass({
     getInitialState: function () {
     return {
     //在这个对象中设置的属性将会被存储在state中
     //默认状态未选中
     isCheck: false
     }
     },

     //定义是件绑定的方法
     handleChange: function () {
     //修改状态值,通过this.state读取设置的值状态
     this.setState({
     isCheck: !this.state.isCheck
     }
     );
     },

     render: function () {
     //根据状态值 设置显示的文字
     //在jsx语法中 不能直接使用if 要使用三目运算符
     let text = this.state.isCheck ? "选中" : "未选中";

     return (
     <div>
     <input type="checkbox" onChange={this.handleChange}/>
     {text}
     </div>
     );
     }
     });

     ReactDOM.render(
     <CheckButton/>,
     document.getElementById("container")
     );
     //当state 发生变化时,会调用组件内部的render方法*/


    /*
     需求: 定义一个组件,将用的输入框的输入内容进行实时显示
     分析:
     组件和用户户交互过程中,存在状态的变化,即输入框的值
     */

    let Input = React.createClass({
        getInitialState: function () {
            return {
                value: "请输入"
            };
        },

        handleChange:function (event) {
            this.setState({
                value:event.target.value
            })
        },

        render:function () {
            let value=this.state.value;
            return(
                <div>
                    <input type="text" value={value} onChange={this.handleChange}/>
                    <p>{value}</p>
                </div>
            );
        }
    });

  ReactDOM.render(
     <Input/>,
      document.getElementById("container")
  );


</script>
</html>



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值