Next.js服务器组件“使用服务器”行为,无需声明

rsaldnfx  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(144)

我使用的是Next.js中的服务器组件功能,它需要在jsx文件的开头声明'use client''use server'。我记得'use server'是默认的处理方法,所以不需要编写。
但是我发现,如果我在调用API的文件中不写'use server',那么在浏览器的网络选项卡中就会看到这个API的数据;如果我写'use server',那么浏览器的网络选项卡中就不会有这个API的数据,但是我仍然可以调用这个API并读取数据。
这是什么原因呢?我应该在文件中写入'use server'吗?
以下是图片:
不要写'use server'有这个API的数据:
x1c 0d1x的数据
write 'use server'不会显示API:


我的Sniffy代码:

'use server'
import axios from 'axios'

const apiTSEIndexUrl = '/IX0001'

export async function fetchTSEIndex() {
  try {
    const headers = {
      'X-API-KEY': process.env.API_KEY as string,
      'Content-Type': 'application/json'
    }
    const payload = {
      fields: 'open,high,low,close,volume'
    }
    const response = await axios.get(apiTSEIndexUrl, {
      headers: headers,
      params: payload,
    })
    return response.data.data
  } catch (error) {
    console.error('error:', error)
  }
}

字符串

w41d8nur

w41d8nur1#

我记得'use server'是默认的处理方法,所以不需要写。
我不确定你的说法是否正确。use server声明该文件上的函数被标记为服务器操作,服务器操作在服务器上运行。服务器操作不是客户端包的一部分,因为我们不希望敏感的服务器端逻辑暴露或在客户端上运行。浏览器开发人员工具中的网络选项卡通常显示客户端发起的网络活动-在浏览器中运行的副代码。
from docs
“use server”标记可以从客户端代码调用的服务器端函数。

相关问题