Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Add useEvent #24505

Closed
wants to merge 2 commits into from
Closed

Conversation

rickhanlonii
Copy link
Member

@rickhanlonii rickhanlonii commented May 5, 2022

Overview

This PR adds a new hook useEvent per the RFC here.

TODO

  • More tests
  • Mutate in the correct time of the commit phase (currently just an insertion effect)
  • Decide on the error message text for calling it in render
  • Update linter plugin treat the useEvent return values in scope as “stable”
  • Figure out the correct type
  • Add DevTools support

@facebook-github-bot facebook-github-bot added CLA Signed React Core Team Opened by a member of the React Core Team labels May 5, 2022
@sizebot
Copy link

sizebot commented May 5, 2022

Comparing: c7e494b...4aabc57

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.min.js +0.31% 131.58 kB 131.99 kB +0.30% 42.15 kB 42.28 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js +0.30% 136.82 kB 137.23 kB +0.33% 43.70 kB 43.84 kB
facebook-www/ReactDOM-prod.classic.js +0.22% 440.68 kB 441.64 kB +0.26% 80.35 kB 80.56 kB
facebook-www/ReactDOM-prod.modern.js +0.23% 425.89 kB 426.85 kB +0.26% 78.17 kB 78.38 kB
facebook-www/ReactDOMForked-prod.classic.js +0.22% 440.68 kB 441.64 kB +0.26% 80.35 kB 80.56 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable-semver/react/cjs/react.production.min.js +0.85% 6.91 kB 6.97 kB +0.48% 2.70 kB 2.71 kB
oss-stable/react/cjs/react.production.min.js +0.85% 6.94 kB 7.00 kB +0.48% 2.72 kB 2.73 kB
oss-experimental/react/cjs/react.production.min.js +0.74% 7.99 kB 8.05 kB +0.23% 3.01 kB 3.02 kB
facebook-react-native/react/cjs/React-prod.js +0.60% 17.09 kB 17.19 kB +0.34% 4.37 kB 4.39 kB
facebook-react-native/react/cjs/React-profiling.js +0.58% 17.70 kB 17.80 kB +0.33% 4.50 kB 4.52 kB
facebook-www/React-prod.modern.js +0.54% 19.06 kB 19.17 kB +0.34% 4.78 kB 4.79 kB
facebook-www/React-prod.classic.js +0.54% 19.23 kB 19.33 kB +0.31% 4.84 kB 4.85 kB
facebook-www/React-profiling.modern.js +0.52% 19.67 kB 19.77 kB +0.31% 4.90 kB 4.92 kB
facebook-www/React-profiling.classic.js +0.52% 19.83 kB 19.93 kB +0.32% 4.96 kB 4.98 kB
oss-stable-semver/react-test-renderer/umd/react-test-renderer.production.min.js +0.51% 87.57 kB 88.03 kB +0.52% 27.32 kB 27.46 kB
oss-stable/react-test-renderer/umd/react-test-renderer.production.min.js +0.51% 87.60 kB 88.05 kB +0.53% 27.32 kB 27.46 kB
oss-stable-semver/react-test-renderer/cjs/react-test-renderer.production.min.js +0.51% 87.30 kB 87.74 kB +0.50% 26.97 kB 27.10 kB
oss-stable/react-test-renderer/cjs/react-test-renderer.production.min.js +0.51% 87.32 kB 87.77 kB +0.50% 26.97 kB 27.10 kB
oss-stable-semver/react-art/cjs/react-art.production.min.js +0.50% 81.82 kB 82.23 kB +0.50% 25.37 kB 25.49 kB
oss-stable/react-art/cjs/react-art.production.min.js +0.50% 81.84 kB 82.25 kB +0.50% 25.37 kB 25.49 kB
oss-stable-semver/react/umd/react.profiling.min.js +0.49% 10.74 kB 10.79 kB +0.12% 4.25 kB 4.26 kB
oss-stable-semver/react/umd/react.production.min.js +0.49% 10.74 kB 10.79 kB +0.09% 4.26 kB 4.26 kB
oss-stable/react/umd/react.profiling.min.js +0.49% 10.76 kB 10.81 kB +0.09% 4.28 kB 4.28 kB
oss-stable/react/umd/react.production.min.js +0.49% 10.76 kB 10.81 kB +0.09% 4.28 kB 4.28 kB
oss-experimental/react-test-renderer/cjs/react-test-renderer.production.min.js +0.49% 91.75 kB 92.20 kB +0.47% 28.26 kB 28.39 kB
oss-experimental/react-test-renderer/umd/react-test-renderer.production.min.js +0.49% 92.03 kB 92.48 kB +0.54% 28.61 kB 28.77 kB
oss-experimental/react-art/cjs/react-art.production.min.js +0.47% 86.62 kB 87.02 kB +0.44% 26.77 kB 26.89 kB
oss-experimental/react/umd/react.profiling.min.js +0.45% 11.76 kB 11.81 kB +0.15% 4.55 kB 4.56 kB
oss-experimental/react/umd/react.production.min.js +0.45% 11.76 kB 11.81 kB +0.09% 4.55 kB 4.56 kB
oss-stable-semver/react-reconciler/cjs/react-reconciler.production.min.js +0.44% 92.72 kB 93.13 kB +0.45% 28.48 kB 28.61 kB
oss-stable/react-reconciler/cjs/react-reconciler.production.min.js +0.44% 92.74 kB 93.15 kB +0.45% 28.51 kB 28.63 kB
oss-experimental/react-reconciler/cjs/react-reconciler.production.min.js +0.42% 97.59 kB 98.00 kB +0.41% 29.91 kB 30.03 kB
oss-stable-semver/react-reconciler/cjs/react-reconciler.profiling.min.js +0.40% 101.54 kB 101.95 kB +0.44% 30.78 kB 30.91 kB
oss-stable/react-reconciler/cjs/react-reconciler.profiling.min.js +0.40% 101.57 kB 101.97 kB +0.44% 30.80 kB 30.93 kB
oss-experimental/react-reconciler/cjs/react-reconciler.profiling.min.js +0.38% 106.42 kB 106.83 kB +0.41% 32.15 kB 32.28 kB
facebook-react-native/react-test-renderer/cjs/ReactTestRenderer-prod.js +0.38% 259.30 kB 260.28 kB +0.48% 47.09 kB 47.32 kB
react-native/implementations/ReactFabric-prod.js +0.36% 288.78 kB 289.82 kB +0.44% 52.02 kB 52.25 kB
facebook-react-native/react-test-renderer/cjs/ReactTestRenderer-profiling.js +0.36% 274.45 kB 275.44 kB +0.49% 49.33 kB 49.57 kB
facebook-www/ReactART-prod.modern.js +0.36% 269.03 kB 269.99 kB +0.45% 47.72 kB 47.94 kB
oss-stable-semver/react-art/umd/react-art.production.min.js +0.35% 117.73 kB 118.14 kB +0.35% 36.60 kB 36.73 kB
oss-stable/react-art/umd/react-art.production.min.js +0.35% 117.75 kB 118.17 kB +0.35% 36.60 kB 36.73 kB
react-native/implementations/ReactNativeRenderer-prod.js +0.35% 295.82 kB 296.86 kB +0.45% 53.10 kB 53.34 kB
react-native/implementations/ReactFabric-prod.fb.js +0.35% 296.84 kB 297.89 kB +0.42% 53.60 kB 53.82 kB
facebook-www/ReactART-prod.classic.js +0.34% 279.86 kB 280.82 kB +0.44% 49.46 kB 49.67 kB
react-native/implementations/ReactNativeRenderer-prod.fb.js +0.34% 303.93 kB 304.98 kB +0.41% 54.68 kB 54.90 kB
oss-stable-semver/react-test-renderer/umd/react-test-renderer.development.js +0.34% 675.29 kB 677.60 kB +0.24% 142.58 kB 142.92 kB
oss-stable/react-test-renderer/umd/react-test-renderer.development.js +0.34% 675.31 kB 677.62 kB +0.24% 142.60 kB 142.94 kB
react-native/implementations/ReactFabric-profiling.js +0.34% 307.92 kB 308.96 kB +0.43% 55.25 kB 55.48 kB
oss-stable-semver/react-test-renderer/cjs/react-test-renderer.development.js +0.34% 644.52 kB 646.69 kB +0.24% 140.92 kB 141.25 kB
oss-stable/react-test-renderer/cjs/react-test-renderer.development.js +0.34% 644.54 kB 646.71 kB +0.24% 140.94 kB 141.27 kB
oss-experimental/react-art/umd/react-art.production.min.js +0.33% 122.47 kB 122.88 kB +0.33% 37.97 kB 38.10 kB
react-native/implementations/ReactNativeRenderer-profiling.js +0.33% 315.04 kB 316.08 kB +0.43% 56.25 kB 56.49 kB
oss-experimental/react-test-renderer/umd/react-test-renderer.development.js +0.33% 702.16 kB 704.47 kB +0.22% 147.94 kB 148.27 kB
facebook-react-native/react-test-renderer/cjs/ReactTestRenderer-dev.js +0.33% 684.16 kB 686.39 kB +0.22% 147.90 kB 148.22 kB
oss-experimental/react-test-renderer/cjs/react-test-renderer.development.js +0.32% 670.09 kB 672.26 kB +0.22% 146.23 kB 146.55 kB
react-native/implementations/ReactFabric-profiling.fb.js +0.32% 323.92 kB 324.96 kB +0.38% 57.86 kB 58.08 kB
oss-stable-semver/react-art/cjs/react-art.development.js +0.32% 682.23 kB 684.40 kB +0.23% 147.44 kB 147.78 kB
oss-stable/react-art/cjs/react-art.development.js +0.32% 682.25 kB 684.42 kB +0.23% 147.46 kB 147.80 kB
facebook-www/ReactTestRenderer-dev.modern.js +0.32% 705.66 kB 707.89 kB +0.23% 151.83 kB 152.18 kB
facebook-www/ReactTestRenderer-dev.classic.js +0.32% 705.66 kB 707.89 kB +0.23% 151.83 kB 152.18 kB
react-native/implementations/ReactNativeRenderer-profiling.fb.js +0.31% 331.09 kB 332.13 kB +0.39% 58.91 kB 59.14 kB
oss-stable-semver/react-dom/umd/react-dom.production.min.js +0.31% 131.71 kB 132.12 kB +0.31% 42.82 kB 42.96 kB
oss-stable/react-dom/umd/react-dom.production.min.js +0.31% 131.73 kB 132.14 kB +0.31% 42.82 kB 42.96 kB
oss-stable-semver/react-dom/cjs/react-dom.production.min.js +0.31% 131.56 kB 131.97 kB +0.30% 42.15 kB 42.28 kB
oss-stable/react-dom/cjs/react-dom.production.min.js +0.31% 131.58 kB 131.99 kB +0.30% 42.15 kB 42.28 kB
oss-experimental/react-art/cjs/react-art.development.js +0.31% 709.48 kB 711.65 kB +0.21% 153.21 kB 153.53 kB
oss-experimental/react-dom/umd/react-dom.production.min.js +0.30% 136.87 kB 137.28 kB +0.34% 44.30 kB 44.45 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js +0.30% 136.82 kB 137.23 kB +0.33% 43.70 kB 43.84 kB
oss-stable-semver/react-art/umd/react-art.development.js +0.29% 785.74 kB 788.05 kB +0.20% 165.67 kB 166.00 kB
oss-stable/react-art/umd/react-art.development.js +0.29% 785.76 kB 788.07 kB +0.20% 165.69 kB 166.02 kB
facebook-www/ReactART-dev.modern.js +0.29% 763.35 kB 765.58 kB +0.21% 162.80 kB 163.14 kB
react-native/implementations/ReactFabric-dev.js +0.29% 764.55 kB 766.78 kB +0.21% 167.23 kB 167.58 kB
oss-stable-semver/react-reconciler/cjs/react-reconciler.development.js +0.29% 744.50 kB 746.67 kB +0.20% 158.45 kB 158.76 kB
oss-stable/react-reconciler/cjs/react-reconciler.development.js +0.29% 744.52 kB 746.69 kB +0.20% 158.47 kB 158.79 kB
oss-experimental/react-dom/cjs/react-dom-unstable_testing.production.min.js +0.29% 140.37 kB 140.78 kB +0.29% 45.26 kB 45.40 kB
oss-stable-semver/react-dom/umd/react-dom.profiling.min.js +0.29% 140.44 kB 140.84 kB +0.29% 45.12 kB 45.25 kB
oss-stable/react-dom/umd/react-dom.profiling.min.js +0.29% 140.46 kB 140.87 kB +0.30% 45.12 kB 45.25 kB
oss-stable-semver/react-dom/cjs/react-dom.profiling.min.js +0.29% 140.98 kB 141.39 kB +0.29% 44.65 kB 44.78 kB
oss-stable/react-dom/cjs/react-dom.profiling.min.js +0.29% 141.01 kB 141.42 kB +0.29% 44.65 kB 44.78 kB
facebook-www/ReactART-dev.classic.js +0.29% 773.57 kB 775.80 kB +0.20% 164.91 kB 165.25 kB
react-native/implementations/ReactNativeRenderer-dev.js +0.29% 774.62 kB 776.85 kB +0.20% 169.59 kB 169.93 kB
oss-experimental/react-art/umd/react-art.development.js +0.28% 814.32 kB 816.63 kB +0.18% 171.36 kB 171.67 kB
oss-experimental/react-reconciler/cjs/react-reconciler.development.js +0.28% 772.03 kB 774.19 kB +0.18% 164.27 kB 164.57 kB
oss-experimental/react-dom/umd/react-dom.profiling.min.js +0.28% 145.58 kB 145.98 kB +0.30% 46.60 kB 46.74 kB
react-native/implementations/ReactFabric-dev.fb.js +0.28% 801.14 kB 803.38 kB +0.21% 173.76 kB 174.12 kB
oss-experimental/react-dom/cjs/react-dom.profiling.min.js +0.28% 146.25 kB 146.65 kB +0.31% 46.18 kB 46.32 kB
react-native/implementations/ReactNativeRenderer-dev.fb.js +0.28% 811.29 kB 813.52 kB +0.20% 176.25 kB 176.60 kB
facebook-www/ReactDOMTesting-prod.modern.js +0.23% 416.84 kB 417.80 kB +0.27% 78.07 kB 78.28 kB
facebook-www/ReactDOM-prod.modern.js +0.23% 425.89 kB 426.85 kB +0.26% 78.17 kB 78.38 kB
facebook-www/ReactDOMForked-prod.modern.js +0.23% 425.89 kB 426.85 kB +0.27% 78.17 kB 78.38 kB
facebook-www/ReactDOMTesting-prod.classic.js +0.22% 432.95 kB 433.91 kB +0.26% 80.53 kB 80.74 kB
facebook-www/ReactDOM-prod.classic.js +0.22% 440.68 kB 441.64 kB +0.26% 80.35 kB 80.56 kB
facebook-www/ReactDOMForked-prod.classic.js +0.22% 440.68 kB 441.64 kB +0.26% 80.35 kB 80.56 kB
facebook-www/ReactDOMTesting-dev.modern.js +0.22% 1,035.12 kB 1,037.36 kB +0.14% 232.75 kB 233.08 kB
oss-stable-semver/react-dom/umd/react-dom.development.js +0.22% 1,074.52 kB 1,076.84 kB +0.13% 232.03 kB 232.33 kB
oss-stable/react-dom/umd/react-dom.development.js +0.22% 1,074.55 kB 1,076.86 kB +0.13% 232.05 kB 232.35 kB
oss-stable-semver/react-dom/cjs/react-dom.development.js +0.21% 1,024.16 kB 1,026.33 kB +0.14% 229.46 kB 229.78 kB
oss-stable/react-dom/cjs/react-dom.development.js +0.21% 1,024.18 kB 1,026.35 kB +0.14% 229.48 kB 229.80 kB
facebook-www/ReactDOM-profiling.modern.js +0.21% 456.44 kB 457.40 kB +0.25% 82.68 kB 82.89 kB
facebook-www/ReactDOMForked-profiling.modern.js +0.21% 456.44 kB 457.40 kB +0.25% 82.68 kB 82.89 kB
facebook-www/ReactDOMTesting-dev.classic.js +0.21% 1,063.75 kB 1,065.98 kB +0.14% 238.52 kB 238.85 kB
oss-experimental/react-dom/cjs/react-dom-unstable_testing.development.js +0.21% 1,035.95 kB 1,038.11 kB +0.13% 233.24 kB 233.54 kB
oss-experimental/react-dom/umd/react-dom.development.js +0.21% 1,105.07 kB 1,107.38 kB +0.12% 238.33 kB 238.61 kB
oss-experimental/react-dom/cjs/react-dom.development.js +0.21% 1,053.29 kB 1,055.46 kB +0.13% 235.71 kB 236.01 kB
facebook-www/ReactDOM-profiling.classic.js +0.20% 471.29 kB 472.25 kB +0.24% 84.96 kB 85.16 kB
facebook-www/ReactDOMForked-profiling.classic.js +0.20% 471.29 kB 472.25 kB +0.24% 84.96 kB 85.17 kB

Generated by 🚫 dangerJS against 4aabc57

@@ -1354,6 +1354,10 @@ export function getExecutionContext(): ExecutionContext {
return executionContext;
}

export function isCurrentlyRendering(): boolean {
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unused fn ?

@rickhanlonii
Copy link
Member Author

Finished in #25229

@rickhanlonii rickhanlonii deleted the rh-use-event branch September 12, 2022 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed React Core Team Opened by a member of the React Core Team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants