Commit b2ec0d12 authored by Steven's avatar Steven

chore: add skip cache requesting

parent 5673e29e
......@@ -19,7 +19,7 @@ const RelationListView = (props: Props) => {
const requests = relationList
.filter((relation) => relation.type === MemoRelation_Type.REFERENCE)
.map(async (relation) => {
return await memoStore.getOrFetchMemoById(relation.relatedMemoId);
return await memoStore.getOrFetchMemoById(relation.relatedMemoId, { skipStore: true });
});
const list = await Promise.all(requests);
setReferencingMemoList(list);
......
......@@ -22,13 +22,13 @@ const MemoRelationListView = (props: Props) => {
const referencingMemoList = await Promise.all(
relationList
.filter((relation) => relation.memoId === memo.id && relation.relatedMemoId !== memo.id)
.map((relation) => memoStore.getOrFetchMemoById(relation.relatedMemoId))
.map((relation) => memoStore.getOrFetchMemoById(relation.relatedMemoId, { skipStore: true }))
);
setReferencingMemoList(referencingMemoList);
const referencedMemoList = await Promise.all(
relationList
.filter((relation) => relation.memoId !== memo.id && relation.relatedMemoId === memo.id)
.map((relation) => memoStore.getOrFetchMemoById(relation.memoId))
.map((relation) => memoStore.getOrFetchMemoById(relation.memoId, { skipStore: true }))
);
setReferencedMemoList(referencedMemoList);
})();
......
......@@ -102,7 +102,7 @@ const MemoView: React.FC<Props> = (props: Props) => {
(relation) => relation.memoId === memo.id && relation.type === MemoRelation_Type.COMMENT
)?.relatedMemoId;
if (parentMemoId) {
memoStore.getOrFetchMemoById(parentMemoId).then((memo: Memo) => {
memoStore.getOrFetchMemoById(parentMemoId, { skipStore: true }).then((memo: Memo) => {
setParentMemo(memo);
});
}
......
......@@ -106,7 +106,7 @@ const MemoDetail = () => {
const handleCommentCreated = async (commentId: number) => {
await memoStore.getOrFetchMemoById(commentId);
await memoStore.getOrFetchMemoById(memo.id, true /* skip cache */);
await memoStore.getOrFetchMemoById(memo.id, { skipCache: true });
};
return (
......
......@@ -22,9 +22,9 @@ export const useMemoV1Store = create(
});
return memos;
},
getOrFetchMemoById: async (id: number, skipCache = false) => {
getOrFetchMemoById: async (id: number, options?: { skipCache?: boolean; skipStore?: boolean }) => {
const memo = get().memoById.get(id);
if (memo && !skipCache) {
if (memo && !options?.skipCache) {
return memo;
}
......@@ -35,10 +35,12 @@ export const useMemoV1Store = create(
throw new Error("Memo not found");
}
set((state) => {
state.memoById.set(id, res.memo as Memo);
return cloneDeep(state);
});
if (!options?.skipStore) {
set((state) => {
state.memoById.set(id, res.memo as Memo);
return cloneDeep(state);
});
}
return res.memo;
},
getMemoById: (id: number) => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment