reactify-wc icon indicating copy to clipboard operation
reactify-wc copied to clipboard

refactor: Updated core functionality with hooks

Open alexandrtovmach opened this issue 5 years ago • 5 comments

Hi there :wave: Played a bit with your package and faced with the same problem as described here https://github.com/BBKolton/reactify-wc/issues/15. Decided to help and here we are :tada:

What I noted is the current structure looks not really well :confused:. One react project nested to another it's not a good idea, so probably good to think about a different approach for testing. And one more thing... I found installed testing library, but it's not used as well, and it also affects to described issue. More details here: https://github.com/testing-library/react-testing-library/issues/570

This PR broke the current test environment :upside_down_face: because of the new version of react and hooks. There is some workaround how it's possible to test locally. Let me know if it's interesting for you, but I'd prefer to focus on replacing this structure and testing env, with something more or less modern, or at least with something that will work :smile:

Changes:

  • migrated to react hooks
  • updated types to allow pass custom interfaces
  • updated README with typescript example
  • refactored README headings levels

Related

  • https://github.com/BBKolton/reactify-wc/issues/15

alexandrtovmach avatar Nov 15 '20 01:11 alexandrtovmach

⚠️⚠️⚠️ DON'T MERGE ⚠️⚠️⚠️

I'm working on required updates

alexandrtovmach avatar Nov 17 '20 13:11 alexandrtovmach

Funny thing, but I refactored to this, and it works well:

import React, { forwardRef } from 'react';

const reactifyWebComponent = <WebComponentProps,>(WebComponentName: string) => {
  type ReactWebComponentProps = React.HTMLProps<HTMLElement> &
    WebComponentProps;

  return forwardRef<HTMLElement, ReactWebComponentProps>((props, parentRef) => (
    <WebComponentName ref={parentRef} {...(props as ReactWebComponentProps)} />
  ));
};

export default reactifyWebComponent;

@BBKolton Could you take a look and test it before I push it here? Because it seems weird for me, and I fell like I missed something.

alexandrtovmach avatar Nov 17 '20 21:11 alexandrtovmach

Sorry for the delay. I will take a look into this a bit more. Thank you for helping :)

brion-fuller avatar Feb 18 '21 19:02 brion-fuller

Any update on this PR?

tobiyas09 avatar Oct 26 '21 12:10 tobiyas09

if some maintainer would review it, I'm ready to make this up to date

alexandrtovmach avatar Oct 26 '21 12:10 alexandrtovmach