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

chore(Image): use React.forwardRef() #4234

Merged
merged 1 commit into from
Jul 23, 2021
Merged

Conversation

layershifter
Copy link
Member

@layershifter layershifter commented Jul 23, 2021

This PR is an example on how to convert components to use React.forwardRef().

Includes:

  • transform of Image component
  • updates to unit tests
  • new forwardsRef() test

@layershifter layershifter changed the base branch from master to next-v3 July 23, 2021 12:59
@github-actions
Copy link

size-limit report

Path Size
bundle-size/dist/Button.size.js 58.67 KB (-0.1% 🔽)
bundle-size/dist/Icon.size.js 27.34 KB (+7.8% 🔺)
bundle-size/dist/Image.size.js 53.84 KB (-0.12% 🔽)
bundle-size/dist/Modal.size.js 69.08 KB (+0.3% 🔺)
bundle-size/dist/Portal.size.js 40.61 KB (0%)

@codecov-commenter
Copy link

codecov-commenter commented Jul 23, 2021

Codecov Report

Merging #4234 (ff70d57) into next-v3 (314c44c) will decrease coverage by 81.00%.
The diff coverage is 42.30%.

❗ Current head ff70d57 differs from pull request most recent head 49aa896. Consider uploading reports for the commit 49aa896 to get more accurate results
Impacted file tree graph

@@             Coverage Diff              @@
##           next-v3    #4234       +/-   ##
============================================
- Coverage    99.75%   18.75%   -81.01%     
============================================
  Files          180      182        +2     
  Lines         3242     3264       +22     
============================================
- Hits          3234      612     -2622     
- Misses           8     2652     +2644     
Impacted Files Coverage Δ
src/lib/hooks/useForkRef.js 0.00% <0.00%> (ø)
src/lib/hooks/useLatestCallback.js 0.00% <0.00%> (ø)
src/modules/Modal/ModalDimmer.js 25.00% <33.33%> (-75.00%) ⬇️
src/elements/Image/Image.js 100.00% <100.00%> (ø)
src/modules/Modal/ModalContent.js 44.44% <100.00%> (-55.56%) ⬇️
src/modules/Modal/ModalDescription.js 37.50% <100.00%> (-62.50%) ⬇️
src/modules/Modal/ModalHeader.js 44.44% <100.00%> (-55.56%) ⬇️
src/modules/Transition/utils/wrapChild.js 0.00% <0.00%> (-100.00%) ⬇️
src/addons/Portal/utils/validateTrigger.js 0.00% <0.00%> (-100.00%) ⬇️
src/modules/Dropdown/utils/getMenuOptions.js 0.00% <0.00%> (-100.00%) ⬇️
... and 170 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 314c44c...49aa896. Read the comment docs.

@bolivier bolivier mentioned this pull request May 5, 2022
levithomason pushed a commit that referenced this pull request Feb 28, 2023
* chore: remove .state() assertions in tests (#4232)

* Ember: remove .state() usage in Enzyme

* AccordionAccordion: remove .state() usage in Enzyme

* Checkbox: remove .state() usage in Enzyme

* TransitionablePortal: remove .state() usage in Enzyme

* Transition: remove .state() usage in Enzyme

* Dropdown: remove .state() usage in Enzyme

* chore(Image): use React.forwardRef() (#4234)

* chore(Placeholder): use React.forwardRef() (#4236)

* chore(Header): use React.forwardRef() (#4237)

* chore(Segment): use React.forwardRef() (#4238)

* chore(Table): use React.forwardRef() (#4239)

* chore(Table): use React.forwardRef()

* fix naming

* chore(Step): use React.forwardRef() (#4240)

* chore: disable ESLint rule for function names (#4241)

* chore(Comment): use React.forwardRef() (#4242)

* chore(Comment): use React.forwardRef()

* fix displayName

* fix tests

* chore(Card): use React.forwardRef() (#4243)

* chore(Feed): use React.forwardRef() (#4244)

* chore(Statistic): use React.forwardRef() (#4245)

* chore(Item): use React.forwardRef() (#4247)

* chore(Container|Divider|Loader|Rail): use React.forwardRef() (#4248)

* chore(Accordion): use React.forwardRef() (#4249)

* chore(Advertisement|Breadcrumb): use React.forwardRef() (#4250)

* chore(Message): use React.forwardRef() (#4251)

* chore(Label|List): use React.forwardRef() (#4252)

* chore(Menu): use React.forwardRef() (#4254)

* chore(Pagination): use React.forwardRef() (#4255)

* chore(Button): use React.forwardRef() (#4256)

* chore(Modal|Portal|Popup): use React.forwardRef() (#4253)

* chore(Modal|Portal): use React.forwardRef()

* remove redundant statics

* migrate Popup

* chore(Rating|Reveal): use React.forwardRef() (#4258)

* chore(Dimmer|Grid|Sidebar): use React.forwardRef() (#4260)

* chore(Modal*|Popup*): use React.forwardRef() (#4261)

* chore(Confirm|Checkbox|Embed|Radio|TextArea): use React.forwardRef() (#4262)

* chore(Flag|Icon|ImageGroup): use React.forwardRef() (#4264)

* chore(Tab): use React.forwardRef() (#4265)

* chore(TransitionGroup): use React.forwardRef() (#4266)

* chore(Input): use React.forwardRef() (#4267)

* chore(Sticky): use React.forwardRef() (#4263)

* chore(TransitionablePortal): convert to be functional component (#4269)

* chore(Search*): use React.forwardRef() (#4270)

* chore(Dropdown*): use React.forwardRef() (#4273)

* chore(Dropdown*): use React.forwardRef()

* fix examples-test

* chore(Visibility): remove component (#4257)

* chore(Visibility): remove component

* remove behaviors section

* chore(Ref): remove component (#4286)

* chore(Ref): remove component

* fix tests

* chore(Search): use React.forwardRef() (#4330)

* chore(Search): use React.forwardRef()

* add test for ref forwarding

* fix tests, add comments

* chore: refactor Modal tests (#4339)

* chore: remove unused test utils (#4340)

* chore: refactor tests for classnames to use mount() (#4341)

* chore: refactor tests for shorthands to use mount() (#4342)

* chore: refactor tests for shorthands to use mount()

* add comment

* fix tests with unmount

* fix(Dropdown): use ref forwarding (#4338)

* Add forward ref to Form (#4364)

* Convert form to function component

* Add ref forwarding to Form component

* Update test/specs/collections/Form/Form-test.js

Co-authored-by: Oleksandr Fediashov <[email protected]>

Co-authored-by: Oleksandr Fediashov <[email protected]>

* Add ref to components (#4373)

* Add ref to FormButton

* Add ref to FormCheckbox

* Add forwardRef to FormGroup

* Remove accidental `only` calls

* chore(FormField): use React.forwardRef() (#4359)

* Add ref to form field component

* Move ref to controlProps

* Add more forwardsRef tests

* Remove unnecessary describe wrapper

* update tests

Co-authored-by: Oleksandr Fediashov <[email protected]>

* chore(FormTextArea): use React.forwardRef() (#4405)

* chore(FormRadio): use React.forwardRef() (#4406)

* chore(FormInput): use React.forwardRef() (#4407)

* chore(Select,FormSelect,FormDropdown): use React.forwardRef() (#4408)

* chore(Select): use React.forwardRef()

* chore(FormSelect): use React.forwardRef()

* chore(FormDropdown): use React.forwardRef()

* fix tests, fix Dropdown component

Co-authored-by: Oleksandr Fediashov <[email protected]>

---------

Co-authored-by: Brandon Olivier <[email protected]>
Co-authored-by: Felix Mosheev <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants