我正在创建自定义无线电BTN.我的代码如下:

 const [isAvailable, setIsAvailable] = useState([
{id: 0, value: true, title: 'Always available', selected: true},
{id: 1, value: false, title: 'Never available', selected: false},
{
  id: 2,
  value: false,
  title: 'Availabe for specific hours',
  selected: false,
},
 ]);

现在,我的单选组件正由一系列assets资源 调用,但其基本思想是,当我调用单选组件时,将显示各自的视图.无线电BTN被称为如下:

{isAvailable.map(option => (
      <Row
        key={option.id}
        rightComponent={'radio'}
        title={option.title}
        onPress={() => onPress(option)}
        isSwitched={option.selected}
      />
    ))}

我的OnPress函数如下所示:

const onPress = option => {
setIsAvailable(
  isAvailable.map(isAvailableOption => {
    isAvailableOption.id === option.id
      ? {...isAvailableOption, selected: true}
      : {...isAvailableOption, selected: false};
  }),
);

};

现在,我的Row组件如下所示:

rightComponent === 'radio' ? (
          <TouchableOpacity
            style={styles.radioBtn}
            onPress={onPress}
            key={key}>
            {isSwitched === true ? (
              <>
                <Ionicons
                  name={'radio-button-on-outline'}
                  style={{...styles.rightIcon, ...rightIconColor}}
                />
              </>
            ) : (
              <>
                <Ionicons
                  name={'ellipse-outline'}
                  style={{...styles.rightIcon, ...rightIconColor}}
                />
              </>
            )}
          </TouchableOpacity>
        ) : ({...})

但是,每当我点击任何图标时,它都不起作用,请告诉我这里我哪里错了?

推荐答案

没什么不对劲的,我只是把我的TouchableOpacity放进了View

React-native相关问答推荐

React Native:无法将具有 resizeMode包含的图像定位在父组件的 flex-end

如何修复 React Native 中任务:app:processDebugManifest的执行失败?

从 React-Native 应用程序中的另一个类访问静态变量?

如何在 React Native 中创建和保存 CSV 文件?

ReactNative 0.43-rc.2 FlatList -- 试图获取超出范围索引 0 的框架

React Native - 初始属性 Android

react-native 中 android 和 iOS 的图像大小

自从升级到 Xcode 10.2 我不能再通过 cli 运行 react-native run-ios

如何手动在抽屉导航底部添加额外的元素(如注销按钮)?

如何解决react-navigation 问题:Animated: `useNativeDriver` is not supported because the native animated module is missing.?

使用 android 的应用中心分发时应用未安装错误

React Native ScrollView 在 iOS 上从底部被截断

如何将样式传递给 React-Native 中的容器组件

React Native 发送短信

React Native - __DEV__ 未定义

ReactNative TextInput 不可见 iOS

带有 React Native 的 EventEmitter 和 Subscriber ES6 语法

在 React Native 中将props传递给外部样式表?

加载字体native-base 错误

类型 androidx.appcompat.resources.R$dimen 被定义了多次