hook是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hook是啥相关的知识,希望对你有一定的参考价值。

参考技术A Hook的本意是钩;钩状物;勾拳。但hook也是一种音乐的表现形式,通常出现在副歌的位置,但hook并不是副歌。hook的原意是钩子,引申开来,在音乐上,hook指的是一首歌曲中最能钩人的部分。

所以在流行音乐里面说的Hook指的是一首歌里面会勾住别人注意力,特别容易被人记忆的点,只要一听到这个Hook你马上就知道这首歌是什么。

因此一首能够被大家广为传唱、有知名度的歌,通常歌曲里都会至少有一个Hook。

react-hook-form 中的寄存器是啥类型?

【中文标题】react-hook-form 中的寄存器是啥类型?【英文标题】:What type is register from react-hook-form?react-hook-form 中的寄存器是什么类型? 【发布时间】:2022-01-23 06:23:41 【问题描述】:

在 Typescript 中使用 react-hook-form 时,有一个组件会发送一些 props,register 就是其中之一。

问题在于它在接口中声明时的类型:

export interface MyProps 
  title: string;
  ...
  register: (string | undefined) => void;

在这里声明register的正确方法是什么?

也尝试过:

import  RegisterOptions  from 'react-hook-form';
    export interface MyProps 
      title: string;
      ...
      register: RegisterOptions;
    

【问题讨论】:

您使用的是 react-hook-form 版本 6 还是 7?因为它从一个版本到另一个版本发生了很大变化。 根据 package.json 是"react-hook-form": "^7.15.2", 只需查看文档。类型在页面顶部react-hook-form.com/api/useform/register @Khorne07 输入它作为答案.. 你可以获得积分 【参考方案1】:

试试这个。

import  RegisterOptions, UseFormRegisterReturn  from 'react-hook-form';

export interface MyProps 
  title: string;
  ...
  register: (name: string, options?: RegisterOptions) => UseFormRegisterReturn;

【讨论】:

【参考方案2】:

您可以从UseFormReturn 检索寄存器类型。

import  UseFormReturn  from 'react-hook-form';

export interface MyProps 
  title: string;
  register: UseFormReturn['register'];

在 react-hook-form 中,我们建议转发 ref 而不是传递register 方法。

【讨论】:

【参考方案3】:

如果您将 register 作为自定义组件中的道具调用或在 Typescript 中的某些自定义输入字段中使用,则可以使用以下代码。

首先从 'react-hook-form' 导入 UseFormRegister 和 FieldValues

import UseFormRegister, FieldValues  from 'react-hook-form'

之后,定义寄存器的类型为

register: UseFormRegister<FieldValues>

并且繁荣,您不需要使用“任何”类型进行注册。

【讨论】:

以上是关于hook是啥的主要内容,如果未能解决你的问题,请参考以下文章

ucos里的hook函数是啥?为啥要有这些函数?干啥用的?

react-hook-form 中的寄存器是啥类型?

说唱hook vears是啥意思

编程中常说的hook是啥意思?

在 Codeigniter 中 hook 的目的是啥?为啥我们要创造?

useEffect Hook 示例:导致重新渲染的原因是啥?