feat: 修改用户数据返回类型,优化用户信息展示逻辑
Some checks failed
/ depcheck (push) Successful in 1m32s
/ build-and-deploy-to-vercel (push) Successful in 1m10s
/ playwright (push) Failing after 2m21s

This commit is contained in:
严浩
2025-01-02 14:46:17 +08:00
parent 087c593b58
commit 49da2ee1d8

View File

@ -9,7 +9,7 @@ async function getUserById(userId: string, { signal }: { signal?: AbortSignal })
}, 1000 * 10); }, 1000 * 10);
const res = await fetch(`https://jsonplaceholder.typicode.com/users/${userId}`, { signal }); const res = await fetch(`https://jsonplaceholder.typicode.com/users/${userId}`, { signal });
await new Promise((resolve) => setTimeout(resolve, 300)); await new Promise((resolve) => setTimeout(resolve, 300));
return await res.json(); return (await res.json()) as Record<string, unknown>;
} }
export const useUserData = defineColadaLoader('DataLoadersIdSub1UserId', { export const useUserData = defineColadaLoader('DataLoadersIdSub1UserId', {
@ -62,14 +62,15 @@ const route = useRoute('DataLoadersIdSub1UserId');
</div> </div>
<h2>State</h2> <h2>State</h2>
<!-- user ShallowRef 所以修改 user 的属性不会触发重新渲染 -->
<button @click="user.name = 'Changed name'">Change user data</button>
<p> <p>
<code>status: {{ status }}</code> <code>status: {{ status }}</code>
<br /> <br />
<code>isLoading: {{ isLoading }}</code> <code>isLoading: {{ isLoading }}</code>
</p> </p>
<pre v-if="error">Error: {{ error }}</pre> <pre v-if="error">Error: {{ error }}</pre>
<pre v-else>{{ user == null ? String(user) : user }}</pre> <pre v-else>user: <p>{{ user == null ? String(user) : user }}</p></pre>
</template> </template>
<style scoped lang="less"> <style scoped lang="less">