Javascript 是否可以在react render中创建一个函数,该函数包含要设置状态的if语句
因此,我的应用程序从defaultProps内部的数组中获取三个随机值,并在返回的JSX中显示这些内部div,并在状态中设置三个属性的值 我需要根据这些随机值的不同来更改状态(如果random1==random2 | | random2==random3)。我在主div中的console.logs中放置了三元运算符,它们输出的正是我想要的。但是,当我尝试在同一位置创建带有if-else语句的函数时,它不会更改状态。我想这是一个关于范围的问题 非常感谢您的帮助 这是我尝试使用的代码:Javascript 是否可以在react render中创建一个函数,该函数包含要设置状态的if语句,javascript,html,reactjs,jsx,Javascript,Html,Reactjs,Jsx,因此,我的应用程序从defaultProps内部的数组中获取三个随机值,并在返回的JSX中显示这些内部div,并在状态中设置三个属性的值 我需要根据这些随机值的不同来更改状态(如果random1==random2 | | random2==random3)。我在主div中的console.logs中放置了三元运算符,它们输出的正是我想要的。但是,当我尝试在同一位置创建带有if-else语句的函数时,它不会更改状态。我想这是一个关于范围的问题 非常感谢您的帮助 这是我尝试使用的代码: this.s
this.state = {
fruit1: "You can't do that inside render. You should make a function that returns true or false depending the state values.
const hasWon = () => {
const { fruit1, fruit2 } = this.state;
return fruit1 === fruit2;
}
this.state={
结果1:“您不能在render中执行此操作。您应该创建一个根据状态值返回true或false的函数
render (
<div class="main-div">
{this.hasWon() ? /* WON COMPONENT */ : /* LOOSE COMPONENT */}
</div>
)
然后在渲染中:
渲染(
{this.haswen()?/*WON COMPONENT*/:/*LOOSE COMPONENT*/}
)
谢谢你的回答,Jon。说清楚一点,如果果1===果2,Haswen会变得真实?所以在Haswen里面,我可以包含'Haswen?this.setState({win:true}):null'?对不起,我还在学习!没问题,Harry,每个人都学过React。是的,你可以这样做,但是,在渲染部分,你应该替换这个。Haswen()为了这个,州,赢。