arqex / arqex/react-interactable

Usage of react-panresponder-web, which is incompatible with React newer than 16

Open
#9 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
58
Forks
6
PR merge metrics
No merged PRs in 30d

Description

I see this library no longer works with a newer version of React than 16. I tried to debug this issue, and found the following:

This is because it uses react-panresponder-web, which in turn depends on react-dom/unstable-native-dependencies (that no longer exists). It seems to use injectEventPluginsByName and a forked version of the react-native-web ResponderEventPlugin.
injectEventPluginsByName was removed in some newer version of React, and ResponderEventPlugin was removed in [this commit](https://github.com/necolas/react-native-web/commit/66751502a337f5fc7bc774ec4aa5cfa7735e5566) and replaced with a useResponderEvents hook.

I attempted to fix this but i am not quite sure how to proceed. I see that react-native-web now has a new Responder Event System implementation: https://github.com/necolas/react-native-web/issues/1568. This uses hooks, but it should be possible to wrap this around a class component as well.

I would be very grateful if you could fix this issue, or atleast give me a few pointers on how to proceed with fixing this.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by inspecting the react-panresponder-web dependency and its use of react-dom/unstable-native-dependencies and injectEventPluginsByName. Compare the current react-native-web responder event implementation and useResponderEvents hook; done means the library works with React versions newer than 16.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, react
Domain
frontend
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.