首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TouchableOpacity的onPress不工作

TouchableOpacity的onPress不工作
EN

Stack Overflow用户
提问于 2021-09-18 02:05:46
回答 1查看 43关注 0票数 0

Task.js

代码语言:javascript
复制
export const Task = ({ addTask }) => {
  const [focusItem, setFocusItem] = useState(null);
  return (
    <View style={styles.titleContainer}>
      <Text style={styles.title}>What would you like to focus on?</Text>
      <View style={styles.container}>
        <TextInput
          style={{ flex: 1 }}
          maxLength={50}
          value={focusItem}
          onSubmitEditing={()=>({ nativeEvent: { text } }) => setFocusItem(text)}
        />
        <RoundedButton
          style={styles.addSubject}
          size={50}
          title="+"
          onPress={()=>addTask(focusItem)}
        />
      </View>
    </View>
  );
};

App.js

代码语言:javascript
复制
import React, { useState } from 'react';
import { Text, View, StyleSheet } from 'react-native';
import Constants from 'expo-constants';
import {Task} from './src/features/task/Task'

export default function App() {
  const [task, setTask] = useState(null);
  return (
    <View style={styles.container}>
     
        {
          task ? 
          (<Text></Text>):
          (<Task addTask = {setTask}/>)
        }
        <Text>{task}</Text>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: '#425670',
  },
});

我尝试通过设置Task的值来将数据从Task发送到App组件。但是onPress不起作用。在执行onSubmitEditing时,我可以看到文本已成功设置,但onPress什么也不做。请帮我解决这个问题。提前感谢

EN

回答 1

Stack Overflow用户

发布于 2021-09-18 04:40:59

您需要更改此设置

代码语言:javascript
复制
onSubmitEditing={()=>({ nativeEvent: { text } }) => setFocusItem(text)}

代码语言:javascript
复制
onSubmitEditing={({ nativeEvent: { text } }) => setFocusItem(text)}

您还可以参考I want to update the parent according to the change of the child to react native

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69231043

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档