首页 > 解决方案 > 使用 this.state.maps 获取 React Native 中动态数组内的信息的 onChangeText

问题描述

这是我的状态,我正试图改变谁的内部信息。

state = {
     info: [
          {
              who:'Player 1',                
           },
          {
              who:'Player 2',             
           },
        ]
   }

当我尝试执行 onChangeText 时。我正在尝试将“谁”变成用户输入的任何名称,但我不确定该怎么做。

{this.state.info.map((e) => (
     <View style={styles.buttons}>
          <TextInput style={styles.txt}
                 onChangeText={(e.who) => this.setState({e.who})}
          />
          value={e.who}
     </View>
))}

标签: react-nativedynamic-arrays

解决方案


试试这段代码,我使用了功能组件

const [info, setInfo] = useState([
    {
      who: 'Player 1',
    },
  ]);
const [texts, setText] = useState('');

return (
  {info.map((e, index) => (
    <View key={index}>
      <Text>{e.who}</Text>
    </View>
  ))}
  <TextInput onChangeText={setText} value={texts} />
  <Button
    title="input"
    onPress={() => {
      setInfo([...info, { who: texts }]);
      setText('');
    }}
  />
)

推荐阅读