Класс элементов JSX с возможностью сортировки в среде React Native не поддерживает атрибуты

#react-native

#react-native

Вопрос:

Я использую эту библиотеку: https://github.com/gitim/react-native-sortable-list («react-native-sortable-list»: «0.0.24»), который не имеет определения типа, поэтому я использую: «@types/react-native-sortable-list»: «^ 0.0.9».

У меня есть следующий компонент, определенный в файле tsx (typescript):

 import SortableList from 'react-native-sortable-list'
import ....// others

interface Props {
    tasks: ITask[]
}
export default function TasksList(props: Props) {

    return (
        <SortableList
            data={props.tasks}
            renderRow={({ active, data, disabled, index, key }) => {
                return (
                    <View key={key}>
                        <Text>{data.name}</Text>
                    </View>
                )
            }}
        />
     )
}
 

Код работает (список отображается нормально), но я получаю сообщение об ошибке Typescript:

Класс элементов JSX не поддерживает атрибуты, поскольку у него нет свойства ‘props’.ts (2607) ‘SortableList’ не может использоваться в качестве компонента JSX. Его тип экземпляра ‘SortableList<неизвестно, неизвестно>’ не является допустимым элементом JSX. В типе ‘SortableList<неизвестно, неизвестно>’ отсутствуют следующие свойства из типа ‘ElementClass’: render, context, setState, forceUpdate и еще 3.ts(2786)

Сообщение об ошибке

Я не знаю, как устранить ошибку. Есть идеи?

Ответ №1:

Я обнаружил, что код Visual Studio имеет версию Typescript 4.1.5. Как только я изменил его на 3.9.9, сообщение об ошибке исчезло!