oliviertassinari / react-swipeable-views

A React component for swipeable views. :snowflake:
https://react-swipeable-views.com/
MIT License
4.46k stars 480 forks source link

RTL broken on iOS 11 #396

Open oliviertassinari opened 6 years ago

oliviertassinari commented 6 years ago

It seems to be a iOS 11 regression. It's working fine with iOS 10. I have no clue about what's wrong.

necolas commented 6 years ago

Have you looked into implementing this package on top of the react native API (for web and native)? That provides APIs for RTL and more, as well as being where the (up-to-date) implementation of Animated lives

oliviertassinari commented 6 years ago

@necolas I have done two tentatives of implementing the library under this folder for react-native. I have lost interest in react-native recently, but I'm eager to unify the implementation! Actually, it's what motived https://github.com/oliviertassinari/react-swipeable-views/pull/378. What would be for me the best way to try out those two implementations with react-native-web? By the way, I'm also wondering if we don't have the opportunity to build a cross-platform material design library.

necolas commented 6 years ago

What would be for me the best way to try out those two implementations with react-native-web?

I'd probably start with whatever code is maintained, isolate any use of DOM APIs and then replace them with equivalent RN APIs. If some APIs can't be replaced, they can live in a separate .web.js file with a native equivalent in .native.js.

I'm also wondering if we don't have the opportunity to build a cross-platform material design library

Yeah we previously discussed that here: https://github.com/mui-org/material-ui/issues/593

And this is another attempt that could be made to work on web with RNW: https://github.com/callstack/react-native-paper

I'm biased, but my experience building Twitter for Web makes me think all React components (for web or native) should now be implemented using the core RN APIs/Components. It provides many of the building blocks that component libraries end up trying to make themselves, but anything built on RN can easily interop with other things built on RN.

yinsang commented 6 years ago

WebkitOverflowScrolling: 'touch' may lead to iOS 11 broken. Wish you can have some ideas.