reactrondev / react-native-web-swiper

Swiper-Slider for React-Native and React-Native-Web
213 stars 55 forks source link

Fix: children not rerendering #57

Closed kopax closed 3 years ago

kopax commented 3 years ago

Fix #22 #37 #50 #51

kopax commented 3 years ago

I am using it with path-packge and it work. Perhaps to avoid breaking change due to hack in user land code, we should allow to disable the feature with uniqueChildrenRender={true} ?

oxyii commented 3 years ago

@kopax thank you! Let me know if @jarvisluong will not review in few days

jarvisluong commented 3 years ago

Looks good! Thanks for your contribution!

p/s: About the breaking change, we can release it as a minor version bump

kopax commented 3 years ago

@jarvisluong, If people were relying on the not rerendering behavior, then it may break their app. Since this was not a feature and this kind of integration would be incorrect, I don't think we can call it a breaking change.

Would you guys mind to publish a new version so I can get rid of the patch package?

kopax commented 3 years ago

Also, doc should now warn users that the el will now include props.activeIndex and props.index. If you guys wonder why I choose to use -1 when activeIndex - index = 0, it's for forcing a rerendering of the view when it become active.

kopax commented 3 years ago

@jarvisluong I opened #58 to improve the documentation.

I am encountering a new kind of issue while re-rendering on an iPhone 6, within my slides I have one LottieAnimation and one Animatable.View (which fadein/out a button) per slide which may be RAM consuming animations. It seems that the re-rendering of the active slide causes a visible display lag.

This bug is possible since we allowed to re-render the active slide while displaying it. I may work on solving the issue but any feedback on how to improve this would be appreciated.