react-view icon indicating copy to clipboard operation
react-view copied to clipboard

On useView knobProps don't change if config change

Open mauroreisvieira opened this issue 2 years ago • 0 comments

In my project, I'm using useView the problem is that the prop parameter is dynamic, initially, it's an empty object and only then it will be an object with all the props.

const [props, setProps] = React.useState({});


React.useEffect(() => {
    // eslint-disable-next-line unicorn/consistent-function-scoping
    const aux = require('./code/button/demos/exampleKnobs');
    setProps(aux.exampleKnobs.props);
}, []);

const { knobProps } = useView({ props });

from what I understand there is no useEffect that listens for config changes to reset knobsProps.

I try to add something like that to reset settings but keep new props (NOT previous object):

  useEffect(() => {
      dispatch({
          type: Action.Reset,
          payload: {
              code: initialCode,
              props: config.props,
              providerValue: provider.value,
          },
      });
  }, [config.props]);

Another option is to return the function to updateProps, which can receive an object or updateAll which can receive new configurations.

mauroreisvieira avatar May 30 '22 11:05 mauroreisvieira