首页 > 解决方案 > 在本机反应中将值数据转换为状态,我如何让它工作

问题描述

我正在学习 React Native,我正在尝试构建一个简单的“问答”表单。我已经为一些文本设置了一个值,当onPress被触发时,它应该将它的值设置为状态:

import React, { Component } from 'react';
import { View, Text } from 'react-native';

class quest extends Component {
  state = {
    question1: ans1,  //where ans1 is the value onPressed
    question2: ans1,  //where ans3 is the value onPressed
    longitude: 0.3256, //geolocation
    latitude: -0.3589,//geolocation
  }

  onSubmit = () => (
    console.log(this.state)
  )
  render() {
    return (
      <View>
        <text> What kind of ball is this?</text>
        <TouchableHighlight onPress={//get this value}>
          <text> ans1 value='basketball'</text>
        <TouchableHighlight />
        <TouchableHighlight onPress={//get this value}>
          <text> ans2 value='football'</text>
        <TouchableHighlight />
        <TouchableHighlight onPress={//get this value}>
          <text> ans3 value='handball'</text>
        <TouchableHighlight />
        <text> What kind of vehicle is this?</text>
        <TouchableHighlight onPress={//get this value}>
          <text> ans1 value='bike'</text>
        <TouchableHighlight />
        <TouchableHighlight onPress={//get this value}>
          <text> ans2 value='bus'</text>
        <TouchableHighlight />
        <TouchableHighlight onPress={//get this value}>
          <text> ans3 value='train'</text>
        <TouchableHighlight />
        <button title='Submit' onPress={onSubmit} />
      </View>
    )
  }       
}

标签: react-native

解决方案


我很难理解你的问题。我想您是在问如何将文本的值保存到状态中。如果是,那么这将起作用

<TouchableHighlight onPress={() => this.setState({question1: 'bike',})}>
    <text> ans1 value='bike'</text>
<TouchableHighlight/>

推荐阅读