我正在使用nuxt.js
,并且正在使用Firebase
作为API。我正在使用nuxtServerInit
从firebase API获取所有产品。我只有3个类别,大约有20种产品,因此API要求非常少。
所以这意味着我要一次性获得所有产品,然后再分发产品并将其放入商店。
我只是想问一问,在开始完全构建应用程序之前,这是否是正确的方法?
nuxtServerInit
一次调用即可获取所有产品和整个API _lodash
_.get(params.id)
或_.find(params.id)
来查找产品的详细信息,而不是使用Axios进行另一个呼叫。因此,从本质上说,是从API获取而不是使用商店进行所有其他访问,而不是通过所有其他页面上的Axios异步数据?
路线 我的路线都是动态的
nuxtServerInit
export const actions = {
async nuxtServerInit(context){
return axios.get(URL+'/products.json')
.then(response => {
context.dispatch('products/getProducts', response.data)
})
.catch(e => context.error(e));
}
};
答案 0 :(得分:0)
如果在商店中定义了动作
nuxtServerInit
并且模式为 通用,Nuxt.js会使用上下文(仅从 服务器端)。当我们想要的服务器上有一些数据时,这很有用 直接提供给客户端。
如果您有少量数据(3个类别和大约20种产品),并且想直接在客户端上使用该数据,我认为将其存储在状态中是完全可以的。因为,这将帮助您避免在导航期间进行其他API调用。
nuxtServerInit
将在第一页加载时填充商店。而且您不再需要担心任何API请求。我认为这也可以提高性能和响应速度。