本文整理匯總了TypeScript中@dojo/framework/stores/state/operations.replace函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript replace函數的具體用法?TypeScript replace怎麽用?TypeScript replace使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了replace函數的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: async
async ({ get, path, payload: { type, page, filter } }) => {
const token = get(path('user', 'token'));
const offset = page * 10;
let url: string;
switch (type) {
case 'feed':
url = `${baseUrl}/articles/feed?`;
break;
case 'favorites':
url = `${baseUrl}/articles?favorited=${filter}&`;
break;
case 'user':
url = `${baseUrl}/articles?author=${filter}&`;
break;
case 'tag':
url = `${baseUrl}/articles?tag=${filter}&`;
break;
default:
url = `${baseUrl}/articles/?`;
break;
}
const response = await fetch(`${url}limit=10&offset=${offset}`, { headers: getHeaders(token) });
const json = await response.json();
return [
replace(path('feed', 'items'), json.articles),
replace(path('feed', 'total'), json.articlesCount),
replace(path('feed', 'offset'), offset),
replace(path('feed', 'loading'), false),
replace(path('feed', 'loaded'), true)
];
}
示例2: commandFactory
const registerCommand = commandFactory(async ({ get, path }) => {
const requestPayload = {
user: get(path('register'))
};
const response = await fetch(`${baseUrl}/users`, {
method: 'post',
body: JSON.stringify(requestPayload),
headers: getHeaders()
});
const json = await response.json();
if (!response.ok) {
return [
replace(path('register', 'failed'), true),
replace(path('register', 'loading'), false),
replace(path('errors'), json.errors),
replace(path('user'), {})
];
}
global.sessionStorage.setItem('conduit-session', JSON.stringify(json.user));
return [
replace(path('routing', 'outlet'), 'home'),
replace(path('register', 'loading'), false),
replace(path('errors'), undefined),
replace(path('user'), json.user),
replace(path('feed', 'items'), undefined),
replace(path('feed', 'loaded'), false)
];
});
示例3: commandFactory
const publishArticleCommand = commandFactory(async ({ get, path }) => {
const token = get(path('user', 'token'));
const slug = get(path('editor', 'slug'));
const requestPayload = {
article: get(path('editor'))
};
const url = slug ? `${baseUrl}/articles/${slug}` : `${baseUrl}/articles`;
const response = await fetch(url, {
method: slug ? 'put' : 'post',
headers: getHeaders(token),
body: JSON.stringify(requestPayload)
});
const json = await response.json();
if (!response.ok) {
return [replace(path('editor', 'loading'), false), replace(path('errors'), json.errors)];
}
return [
replace(path('article', 'item'), json.article),
replace(path('article', 'loaded'), true),
replace(path('editor'), undefined)
];
});
示例4: commandFactory
const startLoadingArticleCommand = commandFactory(({ path }) => {
return [
replace(path('article', 'item'), undefined),
replace(path('article', 'comments'), []),
replace(path('article', 'loading'), true),
replace(path('article', 'loaded'), false)
];
});
示例5: commandFactory
const saveTodoCommand = commandFactory(({ get, path }): PatchOperation[] => {
const editedTodo = get(path('editedTodo'));
return editedTodo ? [
replace(path('todos', editedTodo.id), editedTodo),
replace(path('editedTodo'), undefined)
] : [];
});
示例6: get
const preSortCommand = commandFactory<SortCommandPayload>(({ at, path, get, payload: { id, columnId, direction } }) => {
const page = get(path(id, 'meta', 'page'));
return [
remove(path(id, 'data', 'pages')),
replace(path(id, 'meta', 'fetchedPages'), page === 1 ? [1] : [page, page - 1]),
replace(path(id, 'meta', 'sort', 'columnId'), columnId),
replace(path(id, 'meta', 'sort', 'direction'), direction),
replace(path(id, 'meta', 'isSorting'), true)
];
});
示例7: remove
const preFilterCommand = commandFactory<FilterCommandPayload>(({ at, path, get, payload: { id, filterOptions } }) => {
return [
remove(path(id, 'data', 'pages')),
replace(path(id, 'meta', 'fetchedPages'), [1]),
replace(path(id, 'meta', 'filter', filterOptions.columnId), filterOptions.value),
replace(path(id, 'meta', 'currentFilter'), filterOptions),
replace(path(id, 'meta', 'page'), 1),
replace(path(id, 'meta', 'isSorting'), true)
];
});
示例8: async
async ({ at, path, get, payload: { id, updater, columnId, value, page, rowNumber } }) => {
const item = get(at(path(id, 'data', 'pages', `page-${page}`), rowNumber));
try {
await updater(item);
} catch (err) {
const previousItem = get(path(id, 'meta', 'editedRow', 'item'));
return [replace(at(path(id, 'data', 'pages', `page-${page}`), rowNumber), previousItem)];
}
return [replace(path(id, 'meta', 'editedRow'), undefined)];
}