如何将条件循环输出传递给reactjs中的变量
How to pass if condition loop output to a variable in reactjs
我需要帮助来解决这个问题
let someVar
render(
{
this.props.someData.map((items) =>
items.someotherData.map((item) =>
(item.data1 > 5 && item.data2 == "more") ? classNames({ "classname1": true })
: (item.data1 > 5 && item.data2 == "less") ? classNames({ "classname2": true })
: classNames({ "classname3": true })
))
}
<div className = { someVar } ></div>
)
我需要将 if 循环的输出传递给变量
我尝试了很多方法。没有任何效果。请给出解决方案
render() {
let someVar
this.props.someData.forEach(items =>
items.someotherData.forEach(item =>
item.data1 > 5 && item.data2 == 'more'
? someVar = 'classname1'
: item.data1 > 5 && item.data2 == 'less'
? someVar = 'classname2'
: someVar = 'classname3'
)
)
return <div className={someVar}></div>
}
我真的不明白你想做什么。你是在调用一些带有 class 名称的函数吗?不过,这是我为您解决问题的最佳尝试。
首先我们创建变量,
然后我们进行数据处理。如果你没有 returning 任何东西,你不应该使用 map 而应该使用 forEach 。您还覆盖了每个项目的变量(这是首选行为吗?)。
然后我们实际上return React 部分代码。渲染函数总是需要 return JSX 或 null。在 JSX 中,我们可以在 className 中使用 someVar。 className 的最终值需要是一个字符串。这就是我们将字符串放入 someVar 的原因。
我需要帮助来解决这个问题
let someVar
render(
{
this.props.someData.map((items) =>
items.someotherData.map((item) =>
(item.data1 > 5 && item.data2 == "more") ? classNames({ "classname1": true })
: (item.data1 > 5 && item.data2 == "less") ? classNames({ "classname2": true })
: classNames({ "classname3": true })
))
}
<div className = { someVar } ></div>
)
我需要将 if 循环的输出传递给变量 我尝试了很多方法。没有任何效果。请给出解决方案
render() {
let someVar
this.props.someData.forEach(items =>
items.someotherData.forEach(item =>
item.data1 > 5 && item.data2 == 'more'
? someVar = 'classname1'
: item.data1 > 5 && item.data2 == 'less'
? someVar = 'classname2'
: someVar = 'classname3'
)
)
return <div className={someVar}></div>
}
我真的不明白你想做什么。你是在调用一些带有 class 名称的函数吗?不过,这是我为您解决问题的最佳尝试。
首先我们创建变量, 然后我们进行数据处理。如果你没有 returning 任何东西,你不应该使用 map 而应该使用 forEach 。您还覆盖了每个项目的变量(这是首选行为吗?)。
然后我们实际上return React 部分代码。渲染函数总是需要 return JSX 或 null。在 JSX 中,我们可以在 className 中使用 someVar。 className 的最终值需要是一个字符串。这就是我们将字符串放入 someVar 的原因。