Javascript 反应本机js。按下启动按钮时不显示任何内容
当按下“开始”按钮时,我试图显示或打印持续时间(计时器),但按下“开始”后没有显示任何内容。我试着用Button代替TouchableOpacity,但仍然没有改变Javascript 反应本机js。按下启动按钮时不显示任何内容,javascript,reactjs,react-native,native,Javascript,Reactjs,React Native,Native,当按下“开始”按钮时,我试图显示或打印持续时间(计时器),但按下“开始”后没有显示任何内容。我试着用Button代替TouchableOpacity,但仍然没有改变 class Timer extends Component { constructor(props){ super(props) this.state = { count: 0 } } render () { const {count} = this.state return
class Timer extends Component {
constructor(props){
super(props)
this.state = {
count: 0
}
}
render () {
const {count} = this.state
return (
<ScrollView>
<SafeAreaView style={styles.container}>
<View style={styles.textInputContainer}>
<Text style={styles.txtHello}>Press start when ready</Text>
<View style={styles.sep}>
</View>
<TouchableOpacity style={styles.button}
onPress={ () =>
<View style={styles.textInputContainer}>
<Text>
<h2> Duration: {count}</h2>
</Text>
</View>
}
>
<Text>start</Text>
</TouchableOpacity>
</View>
</SafeAreaView>
</ScrollView>
)
}
componentDidMount(){
this.myInterval = setInterval(()=>{
this.setState({
count: this.state.count + 1
})
}, 1000)
}
类计时器扩展组件{
建造师(道具){
超级(道具)
此.state={
计数:0
}
}
渲染(){
const{count}=this.state
返回(
准备好后按开始
持续时间:{count}
}
>
开始
)
}
componentDidMount(){
this.myInterval=setInterval(()=>{
这是我的国家({
计数:this.state.count+1
})
}, 1000)
}
}我认为这不是一个正确的方法。您要做的是设置一个
isVisible
状态,使用on按按钮中的props
/TouchableOpacity
更改它,最后根据该isVisible
变量有条件地显示您想要显示的视图。大概是这样的:
class Timer extends Component {
constructor(props){
super(props)
this.state = {
isVisisble:false;
}
}
render(){
return(
<View>
<TouchableOpacity
onPress={ () => this.setState((prevState)=>{isVisible:!prevState.isVisible})}
>
<Text>start</Text>
</TouchableOpacity>
{this.state.isVisible && <View></View>} <- Conditional View here
</View>
)}
类计时器扩展组件{
建造师(道具){
超级(道具)
此.state={
isVisisble:错误;
}
}
render(){
返回(
this.setState((prevState)=>{isVisible:!prevState.isVisible}
>
开始
{this.state.isVisible&&}