schema.Object
Define um mapeamento de objeto simples cujos valores precisam ser normalizados em Entities. Nota: o mesmo comportamento pode ser definido com a sintaxe abreviada: { ... }
definition: obrigatório Uma definição das entities aninhadas encontradas dentro deste objeto. O padrão é um objeto vazio. Você não precisa definir nenhuma chave no seu objeto além daquelas que contêm outras entities. Todos os outros valores serão copiados para a saída normalizada.
dica
Objects têm membros conhecidos estaticamente. Para Objects sem limite definido (chaves string arbitrárias), use Values
Métodos de instância
define(definition): Quando usado, adefinitioninformada será mesclada com a definição original passada ao construtor deObject. Este método costuma ser útil para criar referências circulares no schema.
Uso
Fixtures
GET /users
{"users":[{"id":"123","name":"Beth"}]}
▶UsersPage.tsx
import { Entity, RestEndpoint, schema } from '@data-client/rest'; import { useSuspense } from '@data-client/react'; class User extends Entity { id = ''; name = ''; } const getUsers = new RestEndpoint({ path: '/users', schema: new schema.Object({ users: new schema.Array(User) }), }); function UsersPage() { const { users } = useSuspense(getUsers); return ( <div> {users.map(user => ( <div key={user.pk()}>{user.name}</div> ))} </div> ); } render(<UsersPage />);
Resultado
Store▶