100天AI创业探索计划
向教员学习如何对抗焦虑
焦虑来自:无力感、不切实际的幻想,不确定性
对抗焦虑:持续实践、保持耐心、拓宽见识
通过实践、学习、总结,来提升判断力,提升自信,面对问题、困难总能迎刃而解
风险比较
想干的事情特别多,最近总是提不起精神来。我也不知道问题出在哪。我想可能是因为想赢怕输的心理状态,导致无法行动。做生意,创业,就别怕赔钱,我不怕丢面子,不怕别人怎么看我,就怕赔钱。可能是穷怕了吧。
如何快速学习新技术
面对特别多新技术,如何能够快速学习?
首先搞清楚是什么和为什么?
要明确这个东西是干什么用的,为什么用他,他有什么好处。他做到了那些新特性,值得人们去体验和尝试。
有的时候不系统,就是没有去看全貌,没有从他背后的idea想想,他之所以存在,他的优势是什么?
看文档的Getting Start
基本上新技术都会有文档。文档中的有最简单的教程,先跑一下代码试试。这基本就能用起来了。
明确新概念
看简略文档的同时,把其中的新的、特有的概念,也梳理出来。这样就更能抓住重点。同时做好笔记。也许未来很长一段时间内,都需要不停的修补,更新这个笔记。这个笔记上,把概念用自己的理解,写下啦,把重要的API总结出来。
全面看文档,找代码例子
对于重要的框架,库,语言,工具,知识,还是要把文档过一下,同时需要多找一些例子,可以写一写。
获取数据
获取数据
服务器组件的async 和await
可以在服务器组件中使用async 和await,获取数据。
1 | async function getData() { |
为了使用基于Typescript的async服务器组件,要确保使用Typescript 5.1.3以上的版本,和@types/react 18.2.8以上的版本。
服务组件函数
Next.js提供有帮助的服务端函数。
cookies()headers()
use 在客户端组件
use is a new React function that accepts a promise conceptually similar to await. use handles the promise returned by a function in a way that is compatible with components, hooks, and Suspense. Learn more about use in the React RFC.
客户端组件,不推荐使用use封装fetch,这可能导致多次重复渲染。现在,如果需要在客户端拉数据,最好使用SWR,或React Query。
静态数据拉取
默认fetch拉取数据,并且无限期的保存在cache中。
数据刷新
刷新缓存数据,添加fetch的选项,next.revalidate
1 | fetch('https://...', { next: { revalidate: 10 } }) (数据缓存10s有效) |
如果需要每次fetch都重新获取数据,不使用cache,需要增加cache:'no-store'选项
1 | fetch('https://...', { cache: 'no-store' }) |
数据拉取模式
并行拉取
利用Promise.all同时拉取多个数据。
路由中阻塞渲染
在Layout中,拉数据或导致整个页面阻塞,等到数据加载完成后,才能启动。
###不使用fetch()的数据拉取
使用第三方库拉取数据,还需要控制和刷新缓存,就需要通过默认缓存行为,或者segment缓存配置。
通过直接导出revalidate可以对缓存策略进行配置。
1 | import prisma from './lib/prisma' |
wipe
1 | <!-- html --> |
1 |
|
1 | .scenes:is(:hover, :focus) .scene-2 { |