小编Hel*_*end的帖子

如何在 zod 中创建文件类型“Record<string, File>”的类型

我使用输入type="file",而不是保存数据,FileData我只使用普通对象并为其创建一个类型:Record<string, File>。它工作得很好,但是当我尝试使用zod\xe2\x80\x93 创建验证器时,我不知道如何为其创建相同的类型。

\n

用法:

\n
import { object as zodObject, string, number } from \'zod\';\nimport { useValidators } from \'../some\';\n\nconst useValidation = () => {\n  const { createResolver } = useValidators();\n  \n  return {\n    resolver: createResolver(\n      zodObject({\n        name: string(),\n        price: number(),\n        files: ???,  \n      })\n    ),\n  };\n}; \n
Run Code Online (Sandbox Code Playgroud)\n

该文档相当过多,但我找不到适合我的案例的任何示例: https: //github.com/colinhacks/zod

\n

输入法的使用:

\n
\nconst App = () => {\n  const [files, setFiles] = useState<Record<string, File>>({}); \n\n  return (\n    <input …
Run Code Online (Sandbox Code Playgroud)

javascript input-type-file typescript reactjs zod

8
推荐指数
2
解决办法
2万
查看次数

在道具上反应控制复选框(切换)。

我需要制作一个复选框(类似于IOS的切换)组件,该组件不使用状态,而仅通过道具进行控制。当前代码如下:

export class Checkbox extends React.Component {

handleChange(event) {
   this.props.onChange({value: event.target.value});
}

render() {
    return (
        <span>
             <input class="ios_toggle" type="checkbox"
                 value={this.props.value}
                 disabled={this.props.disabled}
                 onChange={this.handleChange}
             />
        </span>
     );
 }
}
Run Code Online (Sandbox Code Playgroud)

我这样使用它:

<Checkbox value={true} disabled={false} />
Run Code Online (Sandbox Code Playgroud)

它几乎可以工作,但是:

  1. 即使props等于 value={true}
  2. 通过单击此切换按钮,它会更改,但不会更改。我的意思是,如果我放了prop value={true},那么无论我在浏览器中做什么,从理论上讲都是一样的?

我错过了什么?

reactjs

4
推荐指数
1
解决办法
6121
查看次数

标签 统计

reactjs ×2

input-type-file ×1

javascript ×1

typescript ×1

zod ×1