javascript - 如何在 React 中向 jsx 元素数组的最后一个元素添加道具?
问题描述
- 我想让
isActive
数组中最后一个元素的道具为真,其余为假 - 最初我将所有设置为true但我想根据数组的长度动态修改它
- 也就是说,如果我只想
isActive
为第一个组件设置 1 个元素Number
例子
- 假设我在数字数组中有 5 个元素,那么我想要拥有
number[3]
trueisActive
并且休息为 false
请帮助解决这个数组操作:((
import React, { Component } from 'react'
class Numbers extends Component {
render() {
const correctGuesses = this.props.correctGuesses
let number = [<Number guess={'1-100'} key={0 + Math.random} isActive={true}/>]
for(let i=0 ; i < correctGuesses ; i++) {
number.push(<Number guess={`1-${i+2}00`} key={i} isActive={true}/>)
}
return (
<React.Fragment>
{number}
</React.Fragment>
)
}
}
解决方案
如果您希望最后一个元素具有 isActive 道具,您可以使用:
Import React, { Component } from 'react'
class Numbers extends Component {
render() {
const correctGuesses = this.props.correctGuesses
let number
if(correctGuesses === 0) {
number = [<Number guess={`1-100`} key={Math.random} isActive={true}/>]
} else if (correctGuesses > 0) {
number = [<Number guess={`1-100`} key={Math.random} isActive={false}/>]
}
for(let i=0 ; i < correctGuesses ; i++) {
if(i === correctGuesses-1)
number.push(<Number guess={`1-${i+2}00`} key={i} isActive={true}/>)
else
number.push(<Number guess={`1-${i+2}00`} key={i} isActive={false}/>)
}
return (
<React.Fragment>
{number}
</React.Fragment>
)
}
}
推荐阅读
- python - 将元组系列拆分为多列
- python - Django 必须不断更新支持的更新信息
- python - Pyglet (Python 3.9) 的持续错误
- javascript - 从函数返回数组值
- c++ - Qt:重载 QComboBox
- javascript - 尝试使用 localhost 进行测试时收到错误消息
- node.js - 通过mongoose访问mongodb中的动态集合
- wso2 - 我可以在没有 CLI 的情况下将 WSO2 Microgateway 与任何 RestAPI 或 Publisher 支持一起使用吗?
- assembly - 使用 GNU 汇编器编写 shellcode
- php - 按关系字段计数排序