Как отобразить значение переключателя в React Native?

Я новичок в React Native и разработке мобильных приложений в целом. Я пытаюсь отобразить значение, которое я присвоил разным переключателям в группе переключателей, однако, похоже, я что-то не так понимаю. Вот код ниже:

RadioButtons.js

    import React from 'react';
    import { FontAwesome, Ionicons, MaterialCommunityIcons,
    MaterialIcons, Feather } from '@expo/vector-icons';

    export const DeliveryModes = [{
      label: <Ionicons name='ios-walk' size = {20} />,
      value: '30'
    }, {
      label: <MaterialCommunityIcons name='bike' size = {20} />,
      value: '50'
    }, {
      label: <MaterialCommunityIcons name='motorbike' size = {20} />,
      value: '190'
    }, {
      label: <MaterialCommunityIcons name='car-sports' size = {20} />,
      value: '50'
    }, {
      label: <MaterialCommunityIcons name='car-pickup' size = {20} />,
      value: '50'
    }, {
      label: <MaterialCommunityIcons name='car-estate' size = {20} />,
      value: '50'
    }, {
      label: <MaterialCommunityIcons name='bus-side' size = {20} />,
      value: '50'
    }, {
      label: <Feather name='truck' size = {20} />,
      value: '50'
    },
    ];

Index.js

    import React, { Component } from 'react';
    import { View, StyleSheet, Text, TouchableHighlight, } from 'react-native';
    import RadioGroup from 'react-native-custom-radio-group';
    import Tabs from './tabs';
    import { DeliveryModes } from './deliveryMode.js';

    class Details extends Component {
      constructor(props) {
        super(props);
        // Initialize State
        this.state = {
          // First tab is active by default
          activeTab: 0,
        };
      }


      render({ children } = this.props) {
        const {
         onBook
       } = this.props;
        return (
          <View style = {styles.Container}>
          <Tabs>
            {/* First tab */}
            <View title = "Delivery Mode" style = {styles.content}>
            {/* Showtimes */}
             <View>
               {/* Day */}
               <Text style = {styles.sectionHeader}>Kindly select desired mode of delivery.</Text>
               <RadioGroup
               radioGroupList = {DeliveryModes}
               containerStyle = {{ flexWrap: 'wrap', padding: 5, }}
               buttonContainerStyle = {{ borderWidth: 0, margin: 5, borderRadius: 40, width: 90, }}
               onChange = {(value) => this.deliveryMode(value)}
               ref = {e => this.RadioGroup = e}
               />
               </View>
            </View>
            {/* Second tab */}
            <View title = "Number & Weight" style = {styles.content}>
              <Text style = {styles.header}>
                Truly Native
              </Text>
              <Text style = {styles.text}>
                Components you define will end up rendering as native platform widgets
              </Text>
            </View>
            {/* Third tab */}
            <View title = "Parcel Category" style = {styles.content}>
              <Text style = {styles.header}>
                Ease of Learning
              </Text>
              <Text style = {styles.text}>
                It’s much easier to read and write comparing to native platform’s code
              </Text>
            </View>

            </Tabs>
            {/* Footer */}
            <View style = {styles.footer}>
              <TouchableHighlight
                underlayColor = "#9575CD"
                style = {styles.buttonContainer}
                onPress = {onBook}
              >
                <Text style = {styles.button}>Next</Text>
              </TouchableHighlight>
              <Text>{value}</Text>
            </View>
          </View>
        );
      }
    }


    const styles = StyleSheet.create({
      Container: {
        backgroundColor: '#FFF',
        height: 250,
        width: '100%',
        position: 'absolute',
        bottom: 0,
        shadowColor: '#000',
        shadowOffset: { x: 0, y: 0 },
        shadowOpacity: 0.2,
        elevation: 2,
        zIndex: 9999,
        flex: 1,
      },
      // Tab content container
    content: {
      flex: 1,                            
      justifyContent: 'center',           
      alignItems: 'center',               
      backgroundColor: '#F8F8F8',         
    },
    // Content header
    header: {
      margin: 10,                         // Add margin
      color: '#34495E',                   // White color
      fontFamily: 'Avenir',               // Change font family
      fontSize: 26,                       // Bigger font size
    },
    // Content text
    text: {
      marginHorizontal: 20,               // Add horizontal margin
      color: '#34495E',                    // Semi-transparent text
      textAlign: 'center',                
      fontFamily: 'Avenir',
      fontSize: 18,
    },
    sectionHeader: {
      paddingTop: 10,
      paddingLeft: 10,
      color: '#34495E',
      fontFamily: 'Avenir',
      fontSize: 15,
    },
      footer: {
        paddingHorizontal: 110,
        paddingVertical: 10,
        backgroundColor: '#FFF'
      },
      buttonContainer: {
        backgroundColor: '#2FCC71',
        borderRadius: 100,
        paddingVertical: 15,
        paddingHorizontal: 15,
        alignItems: 'center',
      },
      button: {
        color: '#FFFFFF',
        fontSize: 16,
        fontFamily: 'Avenir',
        fontWeight: 'bold',
      },
    });

    export default Details;

Я хочу иметь возможность передавать значение каждого переключателя в текстовый тег под следующей кнопкой. Я сделал код простым и понятным для лучшего использования свойства onChange.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
1 031
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не добавили свое «значение» в setState Сначала добавьте значение в setState

this.state = {
      // First tab is active by default
      activeTab: 0,
      value:''
    };

изменить значение на this.state.value

<Text>{this.state.value}</Text>

Вызовите метод setState для onChange

onChange = {(value) => this.setState({value:value})}

Надеюсь, это поможет вам ура!

Другие вопросы по теме