reactNative中的props和state传值

reactNative中的props和state传值

 

  reactNative项目由不同的组件组成,每个组件都有state和props,

  组件内部传值可以通过state和props传值,外部调用向组件传值需通过

  props进行传值。

 

  案例实现:实现一个动画效果,打开网页,文字从左向右平移200px;

 

      代码实现:

      01.html:

  <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <script src="react.js"></script>
    <script src="react-dom.js"></script>
    <script src="react-with-addons.js"></script>
    <script src="babel.min.js"></script>
    <script type="text/babel" src="01.js"></script>
    <style type="text/css">
    
    </style>
    <title>React</title>
    </head>
    <body>
    </body>
    </html>

 

  01.js:

    let MyComponent=React.createClass({

         //默认熟悉,通过属性配置动画

       getDefaultProps:function(){

         return{

           position:100;//px  平移的距离

             time:10    //ms频率,10ms移动一次

         };

       },

       getIniniaState:function(){

         return {position:0};

       },

       render:function(){

         let style={

            marginLeft:this.state.position

         };

         return <div style={style}>This will animated</div>

       },

 

    });

    //动画执行过程,不断改变状态

    transformComponent:function(){

      if(this.state.position<this.props.position){

        //state改变后重新渲染页面

        this.setState({

          postion:++this.state.position

        });

      }else{

        //完成动画,取消定时器

        clearInterval(this.timer);

      

      }

    }    

 

    //真实的DOM被渲染出来后调用

    componentDidMount:function(){

      if(this.props.position){

        this.timer=setInterval(this.transformComponent,this.props.time);

      }

    }

 

    ReactDOM.render(<MyComponent postion={200} time={5} />,document.body);

 

         

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕容屠苏

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值