v0.2 Controller.fetch, async getHeaders, Collections
· 5 min read
Collections enable Arrays and Objects to be easily extended by pushing or unshifting new members. The namesake comes from Backbone Collections.
Collections are now the default schema for Resource.getList.
TodoResource
TodoItem
CreateTodo
TodoList
import { useController } from '@data-client/react'; import { TodoResource } from './TodoResource'; export default function CreateTodo({ userId }: { userId: number }) { const ctrl = useController(); const handleKeyDown = async e => { if (e.key === 'Enter') { ctrl.fetch(TodoResource.getList.push, { userId, title: e.currentTarget.value, id: Math.random(), }); e.currentTarget.value = ''; } }; return ( <div className="listItem nogap"> <label> <input type="checkbox" name="new" checked={false} disabled /> <input type="text" onKeyDown={handleKeyDown} /> </label> </div> ); }
🔴 Live Preview
Store▶
Upgrading is quite simple, as @data-client/rest/next
and @data-client/react/next
were introduced
to allow incremental adoption of the new APIs changed in this release. This makes the actual upgrade a simple import
rename.
Other highlights include
@data-client/rest
@data-client/react
For all details, keep reading: