コンテンツにスキップ

clientAction

このコンテンツはまだ日本語訳がありません。

clientAction

除了(或代替)你的 action,你还可以定义一个将在客户端上执行的 clientAction 函数。

每个路由可以定义一个处理突变的 clientAction 函数:

export const clientAction = async ({
request,
params,
serverAction,
}: ClientActionFunctionArgs) => {
invalidateClientSideCache();
const data = await serverAction();
return data;
};

此功能仅在客户端上运行,并且可以通过以下几种方式使用:

  • 代替全客户端路由的服务器操作
  • 通过在突变时使缓存无效来与 clientLoader 缓存一起使用
  • 促进从 React Router 迁移

参数

params

此函数接收与 action 相同的 params 参数。

request

此函数接收与 action 相同的 request 参数。

serverAction

serverAction 是一个异步函数,它对该路由的服务器 action 进行 fetch 调用。

参见: