我正在使用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));
}
};
如果在商店中定义了动作
nuxtServerInit
,且模式为通用,Nuxt.js会使用上下文(仅从服务器端)。当我们想要的服务器上有一些数据时,这很有用直接交给客户端。
如果您有少量数据(3个类别和大约20种产品),并且想直接在客户端上使用这些数据,我认为将其存储在状态中是完全可以的。因为,这将帮助您避免在导航期间进行其他API调用。
最后但并非最不重要的是,fetch
和fetch
仅在页面内可用(不在组件中。