You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/null_safety/null_safe_migration.md
+9-4Lines changed: 9 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,9 +51,12 @@ dart pub global run over_react_codemod:null_safety_migrator_companion --yes-to-a
51
51
```
52
52
53
53
This codemod will:
54
-
- Add nullability hints to props/state that are defaulted/initialized in class components.
55
-
- These hints will cause defaulted/initialized values to be migrated as "late required".
54
+
- Add nullability hints to state mixin/class fields
55
+
- These hints will cause defaulted/initialized values to be migrated as "late required" (the same thing is done for props in the [required props codemod](#required-props-codemod)).
56
56
See our [prop requiredness and nullability](#prop-requiredness-and-nullability) docs for more details on whether you should keep them required following the migration.
57
+
- All non-initialized state fields will have optional nullable hints.
58
+
- Add nullable hints for callback ref types.
59
+
- Add annotations to disable required prop validation for `connect` props. See [`connect` required props migration case](#wrapper-and-connected-components-and-required-props) for more info.
57
60
58
61
#### Required props codemod
59
62
@@ -63,7 +66,9 @@ as a separate commit before proceeding with the rest of the migration.
63
66
This is a two-step process involving two sub-commands:
64
67
65
68
1.`null_safety_required_props collect` - Collects requiredness data for all OverReact props based on usages in the specified packages and all their transitive dependencies.
66
-
1.`null_safety_required_props codemod` - Adds null safety migrator hints to OverReact props using prop requiredness data from 'collect' command.
69
+
1.`null_safety_required_props codemod` - Adds null safety migrator hints to OverReact props taking into account:
70
+
1. Prop requiredness data from the 'collect' command.
71
+
1. If the prop has a default in `defaultProps`, it will get "late required" hints.
67
72
68
73
Start with the `collect` command, following its help output for instructions:
69
74
```shell
@@ -208,7 +213,7 @@ of the null safety and required props docs for instructions on how to handle the
208
213
209
214
For connect, either:
210
215
- Disable validation using the instructions linked above
211
-
- Note: for now, this must be done manually, but we'll be adding a codemod to help do this automatically for `connect`: https://github.com/Workiva/over_react_codemod/issues/295
216
+
- Note: The [null safety migrator companion codemod](#companion-codemod) does this automatically for all `connect` props.
212
217
- Refactor your component to instead utilize [OverReact Redux hooks](../over_react_redux_documentation.md#hooks),
213
218
which avoid this problem by accessing store data and dispatchers directly in the component as opposed to passing it in via props.
0 commit comments