为什么 Boolean State 不会随着 hook 而改变?

Why Boolean State does not change with hook?

如何使用 Hook 切换值?我试过这段代码,但状态从未改变。

代码是:

class ExampleScreen extends HookWidget {
  @override
  Widget build(BuildContext context) {
    var toggleValue = useState(false);
    
    return Scaffold(
      body: Checkbox(
                    value: toggleValue .value,
                    onChanged: (value) {
                      toggleValue.value !=  toggleValue.value;
                      print("\n toggleValue ${ toggleValue .value}\n");
                    },
    );
  }
}

您应该使用从 onChanged 回调返回的值来分配新值。新值不会自动分配给 ValueNotifier.value.

Widget build(BuildContext context) {
    var toggleValue = useState(false);
    return Scaffold(
        body: Checkbox(
          value: toggleValue.value,
          onChanged: (value) {
            toggleValue.value = value!;
            print("\n toggleValue $value\n");
          },
        )
    );
  }