Comments (4)
Coming from the standpoint of a developer that has worked a decent amount with a similar implementation as react-tree-walker I can understand the need to warn about the use of libraries that rely on other library internals.
However it would be nice to get a better understanding on some of the other appropriate solutions to these problems. Even for data fetching at the moment, at least until suspense is available in a stable release of react-dom
/ react-dom/server
.
One use case I ran into is communicating leaf node data back up to the parent component (some of this data is static, other parts rely on where the leaf node is nested within the react tree). To me the react-call-return
pattern seemed like the closest option that was available to support this kind of need, but that has been removed and never supported createContext
if I understand correctly.
Let me know if there are other discussions elsewhere (on github or in other support communities around React) that are already talking about these problems/patterns that I can move this discussion to. I don't want to sidetrack this issue, only looking for additional insight/guidance/ideas.
from react-tree-walker.
One use case I ran into is communicating leaf node data back up to the parent component (some of this data is static, other parts rely on where the leaf node is nested within the react tree). To me the react-call-return pattern seemed like the closest option that was available to support this kind of need, but that has been removed and never supported createContext if I understand correctly.
Wanna raise an RFC with your ideas? We want to bring back call/return in some form but we need to figure out a compelling API for it.
@ctrlplusb Thanks for super fast response!
from react-tree-walker.
@gaearon I really appreciate your effort to ensure the health of the React eco-system. 👏
I am more than happy to update the docs to inform user's of the risk involved when using this library, along with a suggestion to keep their eyes on the imminent release of Suspense.
I apologise that hadn't considered doing this earlier - it reflects a bit of irresponsibility on my part.
Can't wait for Suspense. 🙏
from react-tree-walker.
Done 👍
from react-tree-walker.
Related Issues (20)
- Support React v16.3 context API HOT 9
- Support preact HOT 1
- Support concurrent branch traversal HOT 2
- Behavior on server-side when using in conjunction with dynamic imports HOT 7
- Fails with CSS in JS systems HOT 2
- Problems with context using react-jss HOT 1
- Accept iterables and collections as children. HOT 1
- A promise was created in a handler at webpack-internal://...react-tree-walker... but was not returned HOT 2
- feature request: provide current element depth to visitor function HOT 1
- Add support for getDerivedStateFromProps
- React.forwardRef is not supported HOT 1
- fixing React.createContext in SSR HOT 18
- ReactDOMServer.renderToString() recreates components tree from the scratch HOT 1
- issue with connect, outdated props when rendered HOT 1
- React tree walker can not walk children 2.0.0 react-async-component components HOT 1
- Fix new Context handling (react@^16.6.x)
- Warning: Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. HOT 3
- Type error in ssr development mode
- You should not use <Switch> outside a <Router> HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-tree-walker.