Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native 我如何让snackbar在新闻发布会上做出回应?_React Native - Fatal编程技术网

React native 我如何让snackbar在新闻发布会上做出回应?

React native 我如何让snackbar在新闻发布会上做出回应?,react-native,React Native,我的有问题 当我单击它时,它没有响应。 有没有一种方法我可以改进这个代码来工作,因为我已经尝试了许多来自互联网的资源,但都没有用 塞斯纳克({ …小吃, 可见:假, 单击:false, }) } 行动={{ 标签:, onPress:()=>{ 塞斯纳克({ …小吃, 可见:假, 单击:false, }); }, }} 风格={{ 背景颜色:“红色”, 填充:30, marginLeft:0, }}> setSnack({…零食,点击:true})}> {snack.click==真( {sn

我的
有问题

当我单击它时,它没有响应。

有没有一种方法我可以改进这个代码来工作,因为我已经尝试了许多来自互联网的资源,但都没有用


塞斯纳克({
…小吃,
可见:假,
单击:false,
})
}
行动={{
标签:,
onPress:()=>{
塞斯纳克({
…小吃,
可见:假,
单击:false,
});
},
}}
风格={{
背景颜色:“红色”,
填充:30,
marginLeft:0,
}}>
setSnack({…零食,点击:true})}>
{snack.click==真(
{snack.message}
) : (
触摸我看变化
)}
我将我的状态设置为:

const[snack,setSnack]=useState({
可见:假,
消息:“你点击了我”,
单击:false,
});
请帮助

尝试以下操作:

<Snackbar
        visible={snack.visible}
        duration={1000000}
        onDismiss={() =>
          setSnack({
            ...snack,
            visible: false,
            click: false,
          })
        }
        action={{
          label: <AntDesign name="close" size={24} color="black" />,
          onPress: () => {
            setSnack({
              ...snack,
              visible: false,
              click: false,
            });
          },
        }}
        style={{
          backgroundColor: 'red',
          padding: 0
        }}>
        <TouchableOpacity
          onPress={() => setSnack({ ...snack, click: true })}>
          <View style={{ flex: 1, padding: 30 }}>
            {snack.click === true ? (
              <Text>{snack.message}</Text>
            ) : (
              <Text>Touch me to see changes</Text>
            )}
          </View>
        </TouchableOpacity>
      </Snackbar>

塞斯纳克({
…小吃,
可见:假,
单击:false,
})
}
行动={{
标签:,
onPress:()=>{
塞斯纳克({
…小吃,
可见:假,
单击:false,
});
},
}}
风格={{
背景颜色:“红色”,
填充:0
}}>
setSnack({…零食,点击:true})}>
{snack.click==真(
{snack.message}
) : (
触摸我看变化
)}
我在snack.expo.io上运行了上述代码。它起作用了。零食周围有填充物(react native paper的默认设置),其中不能调用onPress,也不能调用带有图标的部分来关闭零食。该区域的其余部分称为onPress。问题是onPress仅限于文本区域。但是现在,使用style:
flex:1
重新排列视图将填充剩余的空间