mirror of
https://github.com/zebrajr/react.git
synced 2026-01-15 12:15:22 +00:00
[compiler] Add flag for lowering context access
*This is only for internal profiling, not intended to ship.* ghstack-source-id: e48998b7be4272199c8a6ff9cc2ec0975add5030 Pull Request resolved: https://github.com/facebook/react/pull/30547
This commit is contained in:
@@ -434,6 +434,25 @@ const EnvironmentConfigSchema = z.object({
|
||||
* Here the variables `ref` and `myRef` will be typed as Refs.
|
||||
*/
|
||||
enableTreatRefLikeIdentifiersAsRefs: z.boolean().nullable().default(false),
|
||||
|
||||
/*
|
||||
* If enabled, this lowers any calls to `useContext` hook to use a selector
|
||||
* function.
|
||||
*
|
||||
* The compiler automatically figures out the keys by looking for the immediate
|
||||
* destructuring of the return value from the useContext call. In the future,
|
||||
* this can be extended to different kinds of context access like property
|
||||
* loads and accesses over multiple statements as well.
|
||||
*
|
||||
* ```
|
||||
* // input
|
||||
* const {foo, bar} = useContext(MyContext);
|
||||
*
|
||||
* // output
|
||||
* const {foo, bar} = useContext(MyContext, (c) => [c.foo, c.bar]);
|
||||
* ```
|
||||
*/
|
||||
enableLowerContextAccess: z.boolean().nullable().default(false),
|
||||
});
|
||||
|
||||
export type EnvironmentConfig = z.infer<typeof EnvironmentConfigSchema>;
|
||||
|
||||
Reference in New Issue
Block a user