Sync
Fetch plugin
syncedFetch is a simple wrapper around fetch to reduce boilerplate.
get: The URL to get. If it is an observable or Selector function, it will re-run whenever the value changes.set: The URL to setgetInit: Theinitparameter to pass tofetchwhen gettingsetInit: Theinitparameter to pass tofetchwhen setting. Defaults to{ method: 'POST' }valueType: The function to call on the Response set. Defaults tojson.onSavedValueType: The function to call on the Response from set. Defaults to thevalueTypeoption orjson.onSaved: Given the return value from set, return a value to save back into the observable.
Example:
import { syncedFetch } from '@legendapp/state/sync-plugins/fetch';
import { observable } from '@legendapp/state';
const state$ = observable(syncedFetch({
get: 'https://url.to.get',
set: 'https://url.to.set',
onSaved: (value) => {
return {
updatedAt: value.updatedAt
}
}
}))