setProp 会默默丢弃更新器的返回值 - 对 React 开发者来说很混淆
作者: Hale-K创建于 2026年8月19日更新于 2026年8月19日
Craft.js 0.2.12 actions.setProp(nodeId, updater) 要求 updater 直接修改 props 对象 (例如 props.foo = bar)。如果 updater 返回一个新对象 (例如 ({ ...props, foo: bar }) - 符合 React 语法风格),则返回值将被默默丢弃,且节点的 props 不会被更新,不会产生任何警告或错误。这给我们的项目带来了大量的调试工作。建议: 1. 支持两种风格 - 如果 updater 返回一个新对象,则将其用作新的 props (类似于 React 的 setState)。 2. 或者至少在 updater 返回一个与原始值不相同的值时记录警告。 环境: @craftjs/core 0.2.12,React 18.
内容来源: prevwong/craft.js