Skip to main content

updateDefaultProps()v4.0.154

更新 Props 编辑器(在 Studio 中右侧边栏中)中的默认 props。
您的组件将使用新的 props 重新渲染。
这些 props 不会 保存到根文件 - 请使用 saveDefaultProps() 来保存。

示例

将 {color: 'green'} 设置为默认 props
tsx
import { updateDefaultProps } from "@remotion/studio";
 
updateDefaultProps({
compositionId: "my-composition",
defaultProps: () => {
return {
color: "green",
};
},
});
将 {color: 'green'} 设置为默认 props
tsx
import { updateDefaultProps } from "@remotion/studio";
 
updateDefaultProps({
compositionId: "my-composition",
defaultProps: () => {
return {
color: "green",
};
},
});

您可以访问当前未保存的默认 props 以仅覆盖其中的一部分(类似于 reducer 风格):

访问当前 props
tsx
import { saveDefaultProps } from "@remotion/studio";
 
await saveDefaultProps({
compositionId: "my-composition",
defaultProps: ({ unsavedDefaultProps }) => {
return { ...unsavedDefaultProps, color: "green" };
},
});
访问当前 props
tsx
import { saveDefaultProps } from "@remotion/studio";
 
await saveDefaultProps({
compositionId: "my-composition",
defaultProps: ({ unsavedDefaultProps }) => {
return { ...unsavedDefaultProps, color: "green" };
},
});

如果您只想在保存的更改之上进行覆盖:

访问保存的 props
tsx
import { updateDefaultProps } from "@remotion/studio";
 
updateDefaultProps({
compositionId: "my-composition",
defaultProps: ({ savedDefaultProps }) => {
return {
...savedDefaultProps,
color: "green",
};
},
});
访问保存的 props
tsx
import { updateDefaultProps } from "@remotion/studio";
 
updateDefaultProps({
compositionId: "my-composition",
defaultProps: ({ savedDefaultProps }) => {
return {
...savedDefaultProps,
color: "green",
};
},
});

如果您有 Zod 模式,则还可以访问其运行时值:

从 Props 编辑器保存 props
tsx
import { updateDefaultProps } from "@remotion/studio";
 
updateDefaultProps({
compositionId: "my-composition",
defaultProps: ({ schema, unsavedDefaultProps }) => {
// Do something with the Zod schema
 
return {
...unsavedDefaultProps,
color: "red",
};
},
});
从 Props 编辑器保存 props
tsx
import { updateDefaultProps } from "@remotion/studio";
 
updateDefaultProps({
compositionId: "my-composition",
defaultProps: ({ schema, unsavedDefaultProps }) => {
// Do something with the Zod schema
 
return {
...unsavedDefaultProps,
color: "red",
};
},
});

要求

为了使用此功能:

您需要在 Remotion Studio 中。


Studio 必须在运行中(不能是静态部署)


必须安装 zod



否则,该函数将抛出异常。

参见