{"repo":"pmndrs/its-fine","free":true,"listed":false,"github":"https://github.com/pmndrs/its-fine","clone":"git clone https://github.com/pmndrs/its-fine.git","description":"🐶🔥 A collection of escape hatches for React.","language":"TypeScript","stars":1183,"topics":["fiber","hooks","internal","react","reconciler"],"license":"MIT","category":"ui-components","readme_excerpt":"its-fine A collection of escape hatches for React. As such, you can go beyond React's component abstraction; components are self-aware and can tap into the React Fiber tree. This enables powerful abstractions that can modify or extend React behavior without explicitly taking reconciliation into your own hands. Table of Contents - Components - FiberProvider - Hooks - useFiber - useContainer - useNearestChild - useNearestParent - useContextMap - useContextBridge - Utils - traverseFiber Components FiberProvider A react-internal Fiber provider. This component binds React children to the React Fiber tree. Call its-fine hooks within this. Note : pmndrs renderers like react-three-fiber implement this internally to make use of useContextBridge , so you would only need this when using hooks inside of react-dom or react-native . Hooks Useful React hook abstractions for manipulating and querying from a component. These must be called within a FiberProvider component. useFiber Returns the current react-internal Fiber . This is an implementation detail of react-reconciler. useContainer Returns the current react-reconciler container info passed to Reconciler.createContainer . In react-dom, a container will point to the root DOM element; in react-three-fiber, it will point to the root Zustand store. useNearestChild Returns the nearest react-reconciler child instance or the node created from Reconciler.createInstance . In react-dom, this would be a DOM element; in react-three-fiber this woul","default_branch":null,"files":null,"tree":[],"storefront":"/r/pmndrs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/pmndrs/its-fine/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}