Skip to content

Conversation

@getdave
Copy link
Contributor

@getdave getdave commented Sep 21, 2020

Fix for #25333

This updates the documented usage example for the @wordpress/block-editor docs to avoid showing the following error in the console

Warning: State updates from the useState() and useReducer() Hooks don't support the second callback

This is happening because onInput and onChange handlers are called with x2 args:

  1. Blocks
  2. Selection ranges.

Supplying the useState hook's update handler (ie: updateBlocks) as the callback causes it to be called with the two arguments applied to it. Unfortunately useState only expects a single argument which results in the error shown above.

This PR updates to docs to use an arrow function to ensure only a single argument is passed to the setState call which fixes the error. We could get fancy with partial application but for the purposes of documentation, a wrapper function is probably the easiest to understand.

How has this been tested?

You can verify two args are provided to onInput and onChange in the associated tests for the relevant components:

expect( onInput ).toHaveBeenCalledWith(
[ { clientId: 'a', innerBlocks: [], attributes: { foo: 2 } } ],
{ selectionEnd: {}, selectionStart: {} }

Other than that you'd have to test up a test environment which I haven't had the chance to do.

Types of changes

Bug fix (non-breaking change which fixes an issue)

Checklist:

  • My code is tested.
  • My code follows the WordPress code style.
  • My code follows the accessibility standards.
  • My code has proper inline documentation.
  • I've included developer documentation if appropriate.
  • I've updated all React Native files affected by any refactorings/renamings in this PR.

@getdave getdave self-assigned this Sep 21, 2020
@getdave getdave added [Package] Block editor /packages/block-editor [Type] Developer Documentation Documentation for developers labels Sep 21, 2020
@getdave getdave linked an issue Sep 21, 2020 that may be closed by this pull request
@github-actions
Copy link

github-actions bot commented Sep 21, 2020

Size Change: -548 B (0%)

Total Size: 1.18 MB

Filename Size Change
build/block-directory/index.js 8.55 kB -57 B (0%)
build/block-editor/index.js 129 kB -91 B (0%)
build/block-library/index.js 135 kB -98 B (0%)
build/block-serialization-default-parser/index.js 1.78 kB +1 B
build/components/index.js 169 kB -8 B (0%)
build/compose/index.js 9.42 kB +2 B (0%)
build/data-controls/index.js 685 B -585 B (85%) 🏆
build/data/index.js 8.6 kB +189 B (2%)
build/edit-navigation/index.js 10.7 kB -2 B (0%)
build/edit-site/index.js 20.4 kB -4 B (0%)
build/edit-site/style-rtl.css 3.83 kB +50 B (1%)
build/edit-site/style.css 3.83 kB +51 B (1%)
build/edit-widgets/index.js 21.1 kB +3 B (0%)
build/editor/index.js 45.5 kB +2 B (0%)
build/element/index.js 4.44 kB +1 B
build/escape-html/index.js 734 B +1 B
build/format-library/index.js 7.49 kB -3 B (0%)
build/is-shallow-equal/index.js 710 B +1 B
build/media-utils/index.js 5.12 kB -1 B
build/plugins/index.js 2.44 kB -1 B
build/priority-queue/index.js 790 B +1 B
build/server-side-render/index.js 2.6 kB -2 B (0%)
build/shortcode/index.js 1.7 kB +1 B
build/url/index.js 4.06 kB +2 B (0%)
build/warning/index.js 1.13 kB -1 B
ℹ️ View Unchanged
Filename Size Change
build/a11y/index.js 1.14 kB 0 B
build/annotations/index.js 3.52 kB 0 B
build/api-fetch/index.js 3.35 kB 0 B
build/autop/index.js 2.72 kB 0 B
build/blob/index.js 620 B 0 B
build/block-directory/style-rtl.css 943 B 0 B
build/block-directory/style.css 942 B 0 B
build/block-editor/style-rtl.css 11 kB 0 B
build/block-editor/style.css 11 kB 0 B
build/block-library/editor-rtl.css 8.6 kB 0 B
build/block-library/editor.css 8.6 kB 0 B
build/block-library/style-rtl.css 7.65 kB 0 B
build/block-library/style.css 7.65 kB 0 B
build/block-library/theme-rtl.css 741 B 0 B
build/block-library/theme.css 741 B 0 B
build/block-serialization-spec-parser/index.js 3.1 kB 0 B
build/blocks/index.js 47.5 kB 0 B
build/components/style-rtl.css 15.4 kB 0 B
build/components/style.css 15.4 kB 0 B
build/core-data/index.js 12 kB 0 B
build/date/index.js 31.9 kB 0 B
build/deprecated/index.js 772 B 0 B
build/dom-ready/index.js 568 B 0 B
build/dom/index.js 4.42 kB 0 B
build/edit-navigation/style-rtl.css 868 B 0 B
build/edit-navigation/style.css 871 B 0 B
build/edit-post/index.js 306 kB 0 B
build/edit-post/style-rtl.css 6.25 kB 0 B
build/edit-post/style.css 6.24 kB 0 B
build/edit-widgets/style-rtl.css 3 kB 0 B
build/edit-widgets/style.css 3 kB 0 B
build/editor/editor-styles-rtl.css 492 B 0 B
build/editor/editor-styles.css 493 B 0 B
build/editor/style-rtl.css 3.83 kB 0 B
build/editor/style.css 3.82 kB 0 B
build/format-library/style-rtl.css 547 B 0 B
build/format-library/style.css 548 B 0 B
build/hooks/index.js 1.74 kB 0 B
build/html-entities/index.js 621 B 0 B
build/i18n/index.js 3.54 kB 0 B
build/keyboard-shortcuts/index.js 2.39 kB 0 B
build/keycodes/index.js 1.85 kB 0 B
build/list-reusable-blocks/index.js 3.02 kB 0 B
build/list-reusable-blocks/style-rtl.css 476 B 0 B
build/list-reusable-blocks/style.css 476 B 0 B
build/notices/index.js 1.69 kB 0 B
build/nux/index.js 3.27 kB 0 B
build/nux/style-rtl.css 671 B 0 B
build/nux/style.css 668 B 0 B
build/primitives/index.js 1.34 kB 0 B
build/redux-routine/index.js 2.85 kB 0 B
build/rich-text/index.js 13 kB 0 B
build/token-list/index.js 1.24 kB 0 B
build/viewport/index.js 1.74 kB 0 B
build/wordcount/index.js 1.17 kB 0 B

compressed-size-action

@getdave
Copy link
Contributor Author

getdave commented Oct 2, 2020

@cpapazoglou Pinging you for review here until you are a member of Gutenberg team.

@cpapazoglou
Copy link
Contributor

Copy link
Member

@mkaz mkaz left a comment

Choose a reason for hiding this comment

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

Looks good, thanks! 👍

@mkaz mkaz merged commit ea0cedb into master Oct 2, 2020
@mkaz mkaz deleted the update/block-editor-provider-docs branch October 2, 2020 13:49
@github-actions github-actions bot added this to the Gutenberg 9.2 milestone Oct 2, 2020
@getdave
Copy link
Contributor Author

getdave commented Oct 2, 2020

Thanks @mkaz. I'll merge this asap.

@getdave
Copy link
Contributor Author

getdave commented Oct 2, 2020

Oh it's already merged 🤷

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

[Package] Block editor /packages/block-editor [Type] Developer Documentation Documentation for developers

Projects

None yet

Development

Successfully merging this pull request may close these issues.

BlockEditorProvider documentation out of date

4 participants