逻辑语句中的本机状态变量不起作用

问题描述 投票:0回答:2

我只希望在计数小于4时才显示单击按钮,否则打印“ helo there”。变量计数是一个初始值为零的状态变量。单击按钮时,它会递增。但是输出只有在count为零时才是“ helo there”。为什么会这样... ??

import * as React from 'react';
import {Component} from 'react';
import { Text, View, Button } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';

export default class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      count: 0
    };
  }
  render() {

    if(this.props.count<4){
      return (
      <View>
      <div>
        <p>You clicked {this.state.count} times</p>
        <button onClick={() => this.setState({ count: this.state.count + 1 })}>
          Click me
        </button>
      </div>
      </View>
    );
    }
    else
    {
      return(<View><Text>{this.state.count}</Text></View>);
    }
  }
}
javascript reactjs react-native react-component react-state
2个回答
0
投票

由于您的count位于您的州内,因此您应该将if语句更改为:

if(this.state.count<4){

0
投票

您正在使用this.props.count,在if语句中使用this.state.count<4代替props.count。道具用于从父组件获取属性。

© www.soinside.com 2019 - 2024. All rights reserved.