'string | 类型的参数null' 不可分配给'string' 类型的参数。类型“null”不可分配给类型“string” - React Native

问题描述 投票:0回答:1

我刚刚在 React Native 中安装了这个

DropDownPicker
UI 组件(来源:https://hossein-zare.github.io/react-native-dropdown-picker-website/docs/usage)。

这是代码:

  const [frequency, setFrequency] = useState("");
  const [open, setOpen] = useState(false);
  const [value, setValue] = useState(null);
  const [items, setItems] = useState([
    {label: 'Daily', value: 'Daily'},
    {label: 'Weekly', value: 'Weekly'},
    {label: 'BiWeekly', value: 'BiWeekly'},
    {label: 'Monthly', value: 'Monthly'},
  ]);

....blah blah blah....

    <DropDownPicker
            open={open}
            value={value}
            items={items}
            setOpen={setOpen}
            setValue={setValue}
            setItems={setItems}
            onChangeValue={(value) => {
              console.log(value);
              setFrequency(value);
              console.log(frequency);
            }}
            style={{marginLeft:10,width:'90%', marginBottom:10}}
      />

Intellisense 在我尝试致电

setFrequency(value)
的线路上抱怨,并出现此问题标题中提到的错误。我需要将
frequency
的值设置为 DropDownPicker 中选择的值。我不知道如何解决这个问题。有什么想法吗?

react-native
1个回答
0
投票

根据此DropDown Picker库的文件https://github.com/hossein-zare/react-native-dropdown-picker/blob/5.x/index.d.ts

的接口声明

onChangeValue 函数可以接收任何泛型类型以及其参数中的空值。

在这里您可以简单地使用以下方法来修复此 Intellisense 警告。

setFrequency(value as string);
© www.soinside.com 2019 - 2024. All rights reserved.