Тип ‘(текст: строка) => пустота’ не может быть присвоен типу ‘() =>> любой’

#react-native #react-native-elements

Вопрос:

Я пытаюсь использовать панель поиска из reactnativeэлементов следующим образом:

 
export function EditHash({ navigation, route }: ModifyHashProps) {

    const [searchQuery, setSearchQuery] = React.useState("");

    const handleSearchChange = (text: string) : void => setSearchQuery(text);

    return (
        <SafeAreaView>

                <SearchBar
                    placeholder="type hashtag"
                    lightTheme={true}
                    inputContainerStyle={{
                        backgroundColor: "#FFFFFF",
                        height:30
                    }}
                    containerStyle={{
                        backgroundColor: "#FFFFFF",
                        borderWidth: 1,
                        borderColor: "#E5E6E6",
                        borderRadius: 10,
                        marginLeft: 20,
                        marginRight: 20,
                    }}
                    value={searchQuery}
                    onChangeText={handleSearchChange}
                />

        </SafeAreaView>

    );
}
 

К сожалению, компилятор жалуется на onChangeText назначение функции:

 Type '(text: string) => void' is not assignable to type '((text: string) => void) amp; ((text: string) => void) amp; (() => any) amp; (() => any) amp; (() => any) amp; ((text: string) => void) amp; (() => any) amp; (() => any) amp; (() => any)'.
  Type '(text: string) => void' is not assignable to type '() => any'.
 

Согласно определению типа, это должно быть нормально:

введите описание изображения здесь

Что я делаю не так?

Комментарии:

1. Что, если вы сделаете аргумент необязательным?

2. Что вы имеете в виду под необязательностью?

3. Ну, вы передаете функцию, в которой требуется параметр, чему-то, где куча определений не передает параметр, поэтому вы пытались изменить свою подпись, чтобы она соответствовала этому?

4. Как вы можете видеть, я думаю, что это должно совпадать.

5. Вы смотрите на одну часть пересечения, как показывает ошибка (и вы также можете видеть на скриншоте), есть и другие части этого пересечения, которые () => any , т. е. не будут передавать параметр.