[英]react native TouchableOpacity, different functions by first and second click
我正在為我的本機反應應用程序創建一個簡單的文本到語音 function。 我有一個按鈕,當你第一次點擊它時,它會閱讀文本並播放聲音。 但我想讓它充滿活力。 比如:再點一下就停止,再點一下就再播放等等。。。但是現在只支持任意點擊播放聲音。 我應該在哪里/如何執行 stopReadText()? 我仍然對此一無所知。 非常感謝。
這是代碼:
const readText = () => {
Speech.speak('text')
}
const stopReadText = () => {
Speech.stop()
}
return (
<View>
<TouchableOpacity onPress=(readText)>
<Divider style={styles.modalDivider} />
<Image
style={styles.speaker}
source={require('../../assets/speaker.png')}
/>
</TouchableOpacity>
</View>
)
(我正在使用博覽會演講)
您可以通過使用 boolean state 變量來實現:
import { useState } from 'react';
const [isPlay,setIsPlay]=useState(false)
const readText = () => {
Speech.speak('text')
}
const stopReadText = () => {
Speech.stop()
}
const handlePlay =() =>{
if(!setIsPlay){
readText()
setIsPlay(true)
}
else {
stopReadText()
setIsPlay(false)
}
}
return (
<View>
<TouchableOpacity onPress={handlePlay}>
<Divider style={styles.modalDivider} />
<Image
style={styles.speaker}
source={require('../../assets/speaker.png')}
/>
</TouchableOpacity>
</View>
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.