From 519f4cc06b7ee21065c816bd06c06337976dbf49 Mon Sep 17 00:00:00 2001 From: Aaron Lademann Date: Mon, 15 Jun 2020 13:08:12 -0700 Subject: [PATCH] Add test cases for PseudoStaticLifecycleDiagnostic --- playground/web/pseudo_static_lifecycle.dart | 40 +++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 playground/web/pseudo_static_lifecycle.dart diff --git a/playground/web/pseudo_static_lifecycle.dart b/playground/web/pseudo_static_lifecycle.dart new file mode 100644 index 000000000..b5cf734ce --- /dev/null +++ b/playground/web/pseudo_static_lifecycle.dart @@ -0,0 +1,40 @@ +import 'package:over_react/over_react.dart'; + +part 'dom_prop_types.over_react.g.dart'; + +UiFactory HammerTime = + // ignore: undefined_identifier + _$HammerTime; + +mixin HammerTimeProps on UiProps { + String somethingThatCanBeTouched; +} + +mixin HammerTimeState on UiState {} + +class HammerTimeComponent extends UiStatefulComponent2 { + final mcHammer = 'cant touch this'; + + @override + get defaultProps { + return newProps() + ..somethingThatCanBeTouched = mcHammer; + } + + @override + getDerivedStateFromProps(Map nextProps, Map prevState) { + final tNextProps = typedPropsFactory(nextProps); + final tNextPropsJs = typedPropsFactoryJs(nextProps); + final tPrevState = typedStateFactory(prevState); + final tPrevStateJs = typedStateFactoryJs(prevState); + + if (props.somethingThatCanBeTouched == mcHammer) { + return newState(); + } + + return null; + } + + @override + render() {} +}