civiccc / react-waypoint

A React component to execute a function whenever you scroll to an element.
MIT License
4.08k stars 208 forks source link

Seems to break React Server Components #364

Open Kyoss79 opened 1 year ago

Kyoss79 commented 1 year ago

Hello,

been using this library up to now. It seems the library is using React Context internally, which breaks the new NextJS App Directory using Server Components.

trotzig commented 1 year ago

Hi @Kyoss79! Can you point me where we are using React Context? It's been a while since I was in this codebase so I might be missing something but I can't find it.

I wouldn't be surprised if react-waypoint is incompatible with newer React tech (like NextJS app dir), so one possible solution would be for you to move to IntersectionObserver (either via a library or directly against the browser API).

Kyoss79 commented 1 year ago

By looking through the code, the problem seems to be within "react-is".

c=Symbol.for("react.context"),u=Symbol.for("react.server_context")

Mhmm

lencioni commented 1 year ago

I believe that code is part of the react repo: https://github.com/facebook/react/blob/1f5ce59dd7b6869b1a17ede65aa301002ef31d4b/packages/shared/ReactSymbols.js#L21-L24

Kyoss79 commented 1 year ago

i couldn't look any deeper into this and changed react-waypoint for react-intersection-observer.

Kinda sad, I liked your API more.