美文网首页
无状态组件和有状态组件

无状态组件和有状态组件

作者: 追风筝的Hassan | 来源:发表于2020-01-02 13:57 被阅读0次

代码示例

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

//MyApp不需要做状态处理,所以此组件继承StatelessWidget即可
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //此组件是整个应用的主组件
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
          //自定义主题
          primarySwatch: Colors.blue),
      home: new MyHomePage(title: 'Flutter Demo HomePage Demo'),
    );
  }
}

// 主页需要继承StatefulWidget
class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  //标题
  final String title;
  //必须重写createState方法
  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

//状态类必须继承state类,注意后面需要指定为<MyHomePage>
class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0; //计数器
  void _incrementCounter() {
    //调用State类里边的setState方法来更改状态值,使得计数值加1
    setState(() {
      // 计数器变量,每次点击加1
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
      body: new Center(
        //垂直布局
        child: new Column(
          //主轴居中对齐
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            new Text(
              'you have push the button manyTimes:',
            ),
            new Text(
              '$_counter', //绑定计数器的值
              style: Theme.of(context).textTheme.display1,
            ),
          ],
        ),
      ),
      floatingActionButton: new FloatingActionButton(
        onPressed: _incrementCounter, //按下+号按钮调用自增函数
        tooltip: 'Increment',
        child: new Icon(Icons.add),
      ),
    );
  }
}

相关文章

  • React入门(八)无状态组件

    本节知识点 (1) 无状态组件和有状态组件的区别 (2) 无状态组件的使用 (一)无状态组件和有状态组件的区别 (...

  • 无状态组件和有状态组件

    代码示例

  • 组件

    组件定义 组件的props 组件的state 有状态组件和无状态组件 属性校验和默认属性 组件样式

  • React无状态组件和有状态组件

    无状态组件主要用来定义模板,接收来自父组件props传递过来的数据,使用{props.xxx}的表达式把props...

  • React 进阶二 组件详解

    React组件 React的组件大概分为俩部分,无状态组件和有状态组件 无状态组件。下面React官网中定义的一个...

  • react组件设计心得

    无状态组件有状态组件

  • 函数式组件和类组件

    类组件(有状态组件) 函数式组件(无状态组件)没有生命周期 受控组件:所有的状态都没有,受外部组件控制才能改变状态...

  • react设计模式

    一. 有状态组件(stateful)与无状态组件(stateless) 有状态组件使用class声明,内部有sta...

  • 浅析React有状态组件和无状态组件

    在适合的情况下,我们都应该且必须使用无状态组件。无状态组件不像其他两种方法在调用时会创建新实例,它创建时始终保持了...

  • 学习笔记(十八)Vuex状态管理

    Vuex状态管理 组件状态管理及组件间通信回顾 状态管理 状态集中管理和分发,解决多个组件共享状态的问题 状态自管...

网友评论

      本文标题:无状态组件和有状态组件

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