对动态创建组件的特殊处理

实际开发中,常常需要根据用户需求动态渲染一些组件
以做一个TooList(待办清单)为例

比较窒息不优雅的方法

  const List = (
      listContent ?
      (listContent.map((item, index) => (
        <div className="each-list" key={`each-${index}`}>
            <li key={`list-${index}`} onClick={() => this.ChangeState(index)} className={`list-${index}`} style={style[index]}>{item}</li>
            <button className="each-button" key={`eachbutton-${index}`} onClick={() => this.onDelete(index)}>Delete</button>
            </div>
        ))
       )
      : null
    )

在这里插入图片描述
在这里插入图片描述
当你们看到style={style[index]}时,应该就猜到我的思路了。。创建一个listconent数组,获取数组长度,再遍历,设置每个list样式的初始值,如果哪个改变了,再根据index的索引更改。

比较高级的方法

redux 的官方示例中

const Todo = ({ onClick, completed, text }) => (
  <li
    onClick={onClick}
    style={{
      textDecoration: completed ? 'line-through' : 'none'
    }}
  >
    {text}
  </li>
)

style={{
textDecoration: completed ? ‘line-through’ : ‘none’
}}
嗯…维护一个是否完成的状态即可…虽然redux的使用有点麻烦,尤其对于这种程度的demo,完全大材小用?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值