带打字稿的ReactJS

时间:2020-02-11 19:43:24

标签: javascript reactjs typescript react-hooks

我用React-selec创建一个表单。 当我执行一个函数并传递参数时,他会返回我
期望1个参数,但得到0.ts(2554) index.tsx(31,31):未提供“ selectRef”的参数。

useEffect(() => {
    function parseSelectValue(selectRef: { state: { value: any } }) {
      const selectValue = selectRef.state.value
      if (!multiple) {
        return selectValue ? selectValue.id : ''
      }

      return selectValue
        ? selectValue.map((option: { id: any }) => option.id)
        : []
    }
    registerField({
      name: fieldName,
      ref: ref.current as any,
      path: 'state.value',
      parseValue: parseSelectValue,
      clearValue: (selectRef: { select: { clearValue: () => void } }) => {
        selectRef.select.clearValue()
      }
    })
    parseSelectValue()
  }, [fieldName, registerField, multiple])

1 个答案:

答案 0 :(得分:0)

函数parseSelectValue需要一个selectRef;它是非可选参数。

    function parseSelectValue(selectRef?: { state: { value: any } }) {
        const selectValue = selectRef ? selectRef.state.value : undefined;

粘贴此代码可以解决问题。