storybook [Bug]:在用户输入键值之前,对象控件设置了一个空对象,

omvjsjqw  于 4个月前  发布在  其他
关注(0)|答案(1)|浏览(41)

描述bug

当一个组件有一个可选的对象属性,并且它被设置为一个未定义的参数时,在尝试定义对象键时,会自动将一个空对象设置为参数值。
这对于那些有必需条目但无法定义的组件来说是个问题,因为点击“设置对象”会在任何必需条目被定义之前将参数设置为 {}

重现bug

https://63f4f662ea2e878c745e00db-sfsgqnpqra.chromatic.com/?path=/docs/example-introduction--docs

  • 查看“默认工作”故事以查看组件
  • 查看“不起作用”的故事
  • 点击“设置对象”控件
  • 注意错误 - 在安全地定义对象之前,我们已经将一个空对象参数输入到了属性中

系统

Environment Info:

  System:
    OS: macOS 13.1
    CPU: (8) arm64 Apple M1 Pro
  Binaries:
    Node: 16.18.1 - ~/.nvm/versions/node/v16.18.1/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v16.18.1/bin/yarn
    npm: 8.19.2 - ~/.nvm/versions/node/v16.18.1/bin/npm
  Browsers:
    Chrome: 110.0.5481.100
    Safari: 16.2
  npmPackages:
    @storybook/addon-essentials: ^7.0.0-beta.47 => 7.0.0-beta.52 
    @storybook/addon-interactions: ^7.0.0-beta.47 => 7.0.0-beta.52 
    @storybook/addon-links: ^7.0.0-beta.47 => 7.0.0-beta.52 
    @storybook/blocks: ^7.0.0-beta.47 => 7.0.0-beta.52 
    @storybook/node-logger: ^7.0.0-beta.47 => 7.0.0-beta.52 
    @storybook/preset-create-react-app: ^4.1.2 => 4.1.2 
    @storybook/react: ^7.0.0-beta.47 => 7.0.0-beta.52 
    @storybook/react-webpack5: ^7.0.0-beta.47 => 7.0.0-beta.52 
    @storybook/testing-library: ^0.0.14-next.1 => 0.0.14-next.1

其他上下文

对于这个问题的长期修复可能是改进对TS接口的支持。在短期内,{} 可能应该在用户按下回车键之后再设置。

c8ib6hqw

c8ib6hqw1#

我刚刚遇到了这个问题,尝试设置一个简单的用户对象,例如:{ id: 2, name: 'KeitelDOG', image: '' }。然而它自动发送了一个空对象{},而Typescript类型User正是用于这些属性的。我不需要检查这些属性,因为这就是Typescript或PropTypes存在的原因。

相关问题