記事の内容
StatelessWidgetのonChangedの中でsetStateを使って状態を変化させたい。
でも、StatelessWidgetの中ではsetStateを使うことができない。
どうしたらええんや?と悩んでいる人も多いはずです。
この記事では、その解決方法を紹介します。
実装方法
具体的には、StatelessWidgetのコンストラクタに「Function」を渡して、それをクラスの中で実装します。
呼び出し元
trailing: TaskCheckbox(
checkboxState: isChecked,
toggleCheckboxState: (bool checkboxState) {
setState(() {
isChecked = checkboxState;
});
},
),
StatelessWidget側
return Checkbox( activeColor: Colors.lightBlueAccent, value: checkboxState, onChanged: toggleCheckboxState, );