React Data List is a library which helps you build data arrays by expressing items declaratively using React components. It was built primarily for React Native, but should work anywhere.
npm install @attio/react-data-listReact Data List is a library which helps you build data arrays by expressing items declaratively using React components. It was built primarily for React Native, but should work anywhere.
For a full explanation around why this exists, please checkout the counterpart article here.
##
``tsx
function ErrorOnRenderCheck() {
return (
throw new Error("This never happens as we evaluate descriptors before first paint.")
}}
/>
)
}
ListHeaderComponent={
jumbleFellowship={jumbleFellowship}
/>
}
/>
}
renderEmpty={() => (
/**
* This never happens as we're guaranteed rows will be
* evaluated to data items on first paint.
*/
)}
>
{/ Supports nested ReactDataList instances /}
{fellowship.map((character) => (
name={character.name}
race={character.race}
url={character.url}
/>
))}
{isShowingThorinAndCompany && (
<>
>
)}
`
https://github.com/user-attachments/assets/23c2d232-7f35-470e-98b4-156efaaf326a
A lightweight wrapper around ReactDataList which provides a top-level React.Suspense and ErrorBoundary. This is useful for typical async work, where you may want to display skeleton rows (via renderPendingRows), a full-screen spinner (via renderPending), or perhaps a full-screen error message (via renderError).
`tsx`
ListHeaderComponent={
/>
}
renderPendingRows={
<>
>
}
>
https://github.com/user-attachments/assets/8ab7b63e-1ddc-40f9-8d20-6d443f21c934
This repo uses Changesets for versioning and GitHub Actions for automated publishing.
`bash`Generate a changeset for your changes
bunx changeset
- Select which packages are affected by your changes
- Choose the appropriate semantic version bump (patch, minor, major)
- Write a descriptive summary of the changes
- Commit the generated changeset file in .changeset/
When you push to the master branch, the GitHub Action will:
- Create a Release PR: If there are pending changesets, it creates a "Version Packages" PR with updated version numbers, CHANGELOGs, and consumed changeset files
When the "Version Packages" PR is merged:
- Automated Build: Builds only packages using bun run build-releasechangeset publish
- Automated Publishing: Publishes updated packages to NPM via
- Git Tagging: Creates appropriate git tags for the released versions
`bash1. Create changesets for changes
bunx changeset