Eitherx
:pill: Your go-to, prescribed, error-boundary component for React
Install / Use
/learn @mfix22/EitherxREADME
<Eitherx />
:pill: Super simple, reusable either-or error boundaries for React. Your go-to, prescribed, error-boundary component.
Usage
$ npm i --save eitherx
import Either from 'eitherx'
// Wrapper-component Style
<Either>
{/* Either . . . */}
<p>"Happy Child 😄"</p>
{/* Or . . . */}
<p>"Error child ☹️ (but at least your UI is happy)"</p>
</Either>
// OR use the `render` and `catchError` props
// Render-prop Style
<Either
render={() => (<p>"Happy Child 😄"</p>)}
catchError={({ error }) => (
<div>
<p>{`Error: ${error}`}</p>
</div>
)}
/>
Wrapper Component Style
Eitherx either renders the first child component, unless an error occurred while rendering, then the second child is rendered. Easy enough 😄.
If you do not pass a second child, and an error occurs, null will be return to React to render.
Render-prop Style
Using this style, you must pass a function for both render and catchError. If an error occurs, the component
returned from catchError will be rendered. Otherwise Eitherx will render the component returned from render.
The catchError function receives an object with the field error set, both of which are passed directly from
React Error Boundaries.
Handling Errors
With either style, you can pass an handleError callback prop to add additional error handling, logging, etc.
Example
<Eitherx
handleError={({ error, info }) => {
console.log(info)
console.error(error)
}}
render={() => <Component>"Render Prop"</Component>}
catchError={() => <p>"Catch Prop"</p>}
/>
Related Skills
node-connect
342.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
342.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.7kCommit, push, and open a PR
