Next.js getStaticProps
在构建时将数据传递到页面,在页面上生成静态JSON数据。
React页面负责将数据组合成组件。因此SEO不会直接看到HTML数据的实际列表,对吗?这对SEO友好吗?
例如,你的页面有:
/* static data list given by static page */
const data = [{..},{..}...];
...
<ul>
data.map(item => <li>{item.text}</li>);
</ul>
这个组件在客户端进行后期渲染,SEO不会看到ul-li
s的列表。那么,getStaticProps()是如何让SEO更快乐的呢?或者我误解了它?它并没有让SEO更快乐。
1条答案
按热度按时间sczxawaw1#
假设我们在
pages/index.js
中有下面的代码。这是一个简单的Next.js页面。如果你运行yarn build
并打开.next/server/pages/index.html
,你会看到流动的输出。验证码:
输出:
正如你所看到的,输出中包含的React组件是纯HTML标签,而不是普通React应用程序的空主体。这就是为什么我们说Next.js适合SEO。
现在,Next.js使用脚本中的数据,将这些普通的HTML标签转换为React组件。这个过程称为hydration。