美文网首页React
利用Flatten State更优雅的修改 React 的 St

利用Flatten State更优雅的修改 React 的 St

作者: Lia代码猪崽 | 来源:发表于2021-01-31 14:54 被阅读0次

    一、常规方法

    1. 基础数据

    const items = [
      {
        id: 1,
        title: 'Hi'
      },
      {
        id: 2,
        title: 'Pig'  
      }
    ]
    
    const selectedId = 1
    

    2. 选择

    选择一个 item 的常规方法:

    const selectedItem = items.filter(item => item.id === selectedId)[0]
    

    3. 更新

    更新一个 item 的常规方法:

    const modifiedItem = items.map(item => {
      if (item.id === selectedId) {
        return { ...item, title: 'Hello' }
      } else {
        return item
      }
    })
    

    4. 删除

    删除一个 item 的常规方法:

    const filteredItems = items.filter(item => item.id !== selectedId)
    

    二、Flatten State 方法

    1. 修改后的数据结构

    const items = {
      '1': {
        id: 1,
        title: 'Hi'
      },
      '2': {
        id: 2,
        title: 'Pig'
      }
    }
    
    const selectedId = 1
    

    2. 选择

    const selectedItem = items[selectedId]
    

    3. 更新

    const modifiedItem = {
      ...items,
      items[selectedId]: 'Hello'
    }
    

    4. 删除

    delete items[selectedId]
    const filteredItems = { ...items }
    

    Flatten State 的优点

    • 解决数据冗余
    • 数据处理更容易

    相关文章

      网友评论

        本文标题:利用Flatten State更优雅的修改 React 的 St

        本文链接:https://www.haomeiwen.com/subject/hflrtltx.html