当前位置: 首页> 娱乐> 影视 > 天津网站制作专业_96633微信客服人工时间_网络营销策划步骤_做一个网站需要多少钱

天津网站制作专业_96633微信客服人工时间_网络营销策划步骤_做一个网站需要多少钱

时间:2025/7/12 4:37:54来源:https://blog.csdn.net/sinat_24542619/article/details/142735472 浏览次数:0次
天津网站制作专业_96633微信客服人工时间_网络营销策划步骤_做一个网站需要多少钱

文章目录

  • 知识回顾
  • 前言
  • 源码分析
    • 1. 有状态组件
    • 2. 无状态组件
    • 3. 组件生命周期
    • 4. 常用组件
        • Container组件
        • Text组件
        • Image组件
        • 布局组件row colum stack expanded
        • ElevntButton按钮
  • 拓展知识
  • 总结


知识回顾

【Flutter】- 基础语法

前言

Flutter是以组件化的思想构建客户端页面的,类似于 vue 和 react,每个组件都有独立的结构、样式和交互。

Flutter的组件分为两大类:无状态组件 和 有状态组件

● StatelessWidget: 没有状态改变的Widget,通常这种Widget仅仅是做一些展示工作而已;
● StatefulWidget: 需要保存状态,并且可能出现状态改变的Widget;


源码分析

1. 有状态组件

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';class MyApp3 extends StatefulWidget {const MyApp3({super.key});@overrideState<MyApp3> createState() => _MyApp3State();
}class _MyApp3State extends State<MyApp3> {String name = '';int age = 0;@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('有状态组件'),),body: Center(child: Text('name:$name,age:$age'),),floatingActionButton: FloatingActionButton(onPressed: () {setState(() {age++;});},backgroundColor: Colors.red,child: const Icon(Icons.add),),);}
}

2. 无状态组件

import 'package:flutter/material.dart';class MyApp2 extends StatelessWidget {MyApp2({super.key, this.name = '', this.age = 0});String name;int age;@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text('无状态组件')),body: Center(child: Text('name:$name,age:$age')),);}
}

3. 组件生命周期

有状态组件的生命周期:
在这里插入图片描述

  • 初始化

○ createState:当State组件开始被创建时会自动调用,生命周期内只会执行一次
○ initState:当 State 被初始化时会自动调用,生命周期内只会执行一次
■ 我们通常会在这个方法中执行一些数据初始化的操作,或者也可能会发送网络请求;
■ 注意:这个方法是重写父类的方法,必须调用super,因为父类中会进行一些其他操作

  • 更新

○ didChangeDependencies:当 State 依赖的数据改变时,即初始化时或者是外部传入的数据改变时自动调用的, 这个方法在两种情况下会调用:
■ 情况一:调用initState会调用;
■ 情况二:从其他对象中依赖一些数据发生改变时,比如前面我们提到的InheritedWidget(这个后面会讲到);

  • 构建

○ build:构建组件结构并返回渲染好的组件实例,生命周期内会被执行多次
■ 手动调用setState方法,会根据最新的状态(数据)来重新调用build方法,构建对应的Widgets;
○ didUpdateWidget:该方法主要是组件重新构建时才会被调用的
■ 比如:热重载 或者 父组件发生 build 时子组件的该方法就会被调用
■ 注意:该方法被调用后,本组件中的 build 方法一定也会再被调用

  • 销毁

○ deactivate:组件从节点中移除时会自动调用,可以监听组件是否即将被销毁
○ dispose:释放组件内存资源时会自动调用,可以监听组件是否被彻底销毁

import 'package:flutter/material.dart';class MyApp4 extends StatefulWidget {const MyApp4({super
关键字:天津网站制作专业_96633微信客服人工时间_网络营销策划步骤_做一个网站需要多少钱

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: