selection icon indicating copy to clipboard operation
selection copied to clipboard

React package doesn't support changes to props

Open LordZardeck opened this issue 1 year ago • 3 comments

What is the problem?

When using the react package, if you have state changes to the props being passed to SelectionArea, those changes are not recognized. For example, if you want to use a ref on the container prop, if that container changes, Viselect doesn't recognize these changes.

What is the current behavior?

Changing a prop to the SelectionArea results in those changes not being recognized.

Please provide the steps to reproduce and create a CodeSandbox.

CodeSandbox Link

What is the expected behavior?

Whenever you change a prop, @viselect/react should be updating to use those new props

Your environment:

Toolset (e.g. webpack, vite, vue-cli...): 
Version (@viselect/<insert package>):
Browser:  
OS:  

LordZardeck avatar Apr 19 '24 20:04 LordZardeck

From my best guess, it's because of the empty dependency array in SelectionArea

LordZardeck avatar Apr 19 '24 20:04 LordZardeck

That was on purpose since the core module doesn't support dynamic option updates. The preact/react component would have to destroy the instance and re-create it. In your case adding a key should do the job... Or what would you expect to happen? And what do you mean with a "ref on the container prop" exactly? (sorry, it's been a while with react for me)

simonwep avatar Apr 24 '24 15:04 simonwep