Skip to main content
Entity Lists is the system for building feeds, search results, and any paginated collection of entities. It handles pagination state, sorting, filtering, and infinite scroll through a Redux-backed architecture.

The Core Hook

The primary entry point is useEntityList. You call it with a unique listId — this is how multiple independent lists can exist on the same page without conflicting state.
import { useEntityList } from "@replyke/react-js";

function Feed() {
  const { entities, loading, hasMore, fetchEntities, loadMore } = useEntityList({
    listId: "main-feed",
  });

  useEffect(() => {
    fetchEntities({}, { sortBy: "hot" }, { limit: 20 });
  }, []);

  return (
    <div>
      {entities.map((entity) => <EntityCard key={entity.id} entity={entity} />)}
      {hasMore && <button onClick={loadMore}>Load more</button>}
    </div>
  );
}

In This Section

Fetching Entities

How to call fetchEntities, paginate with loadMore, and create or delete entities within a list.

Infusing Data

Merge Replyke entities with data from your own system using the infuseData callback.

Filters

Complete reference for keywords, title, content, metadata, attachments, and location filters.

Hooks

useEntityList

Main hook for consuming and managing a paginated entity list.

useEntityListActions

Low-level actions hook for fetch, create, and delete operations.

useInfusedData

Merges entity arrays with data from your own backend.