TouchableOpacity React Native не принимает стили по имени класса

Я создаю собственный компонент Button с помощью React Native и Nativewind. Но стиль не работает, когда className применяется к TouchableOpacity.

Компонент:

import {TouchableOpacity} from "react-native";

 <TouchableOpacity className = "border border-red" {...rest}>
   <View className = {cn(base(), className)}>
     {IconLeft && <IconLeft color = {icon()} />}

     <Text className = {text()}>
       {loading && <LoaderIcon className = {spinner()} />}
       {!loading && children}
     </Text>

     {IconRight && <IconRight color = {icon()} />}
   </View>
 </TouchableOpacity>

Работает с style = {{ borderWidth: 1, borderColor: "red" }}. Стиль ClassName работает нормально с другими компонентами.

Попробовал поменять местами внутренние <View /> и <TouchableOpacity /> (как предложено здесь). Но потом он становится слишком маленьким, чтобы на него можно было нажать.


2
228
3

Ответы:

Примечание. NativeWind не работает с TailwindCSS >3.3.2. Если вы хотите чтобы использовать самую последнюю версию, обновите NativeWind v4.

если у вас уже есть, установите Tailwind CSS


border-red, я думаю, недопустимый класс при попутном ветре... вместо этого попробуйте border-red-50.

Вы можете найти все доступные цвета каймы попутного ветра здесь


Решено

Ответ: пришлось обновить Nativewind