簡單的前端數據映射案例


定義 (前端數據映射): 把后台數據轉換成前端自定義的數據格式
為什么要有數據映射?為了復用組件,但是每一個組件復用時傳遞的數據不同,所以要將后台數據轉換為自定義數據格式
 
實例代碼:
import React, { Component } from 'react'
import _ from 'lodash'

// 模擬后台數據
const result = [
  {
    id: 1,
    title: '小花',
    xxx: 12000,
    bbb: '',
    cb: v => `@${v}`,
  },
  {
    id: 2,
    title: '小白',
    xxx: 27000,
    bbb: '',
    cb: v => `@${v}`,
  },
]

export default class Cart extends Component {
  render() {

    // 數據映射一般都寫在 redux 里面,或者單獨的 js 文件
    // 這里使用的是 lodash 工具庫的 get 方法
    // _.get(object, path, [defaultValue])
    // 根據對象的path路徑獲取值,如果解析 value 是 undefined 會以 defaultValue 取代

    const data = result.map(item => ({
      id: _.get(item, 'id', ''),
      name: _.get(item, 'title', ''),
      price: _.get(item, 'xxx', ''),
      sex: _.get(item, 'bbb', ''),
      cb: v => `@${v}`
    }))

    return (
      <div className="pages-cart">
        <h1>cart</h1>
     // 映射后的數據進行渲染
{ data.map(({name, id, price, sex, cb}) => { return <p key={id}>{cb(name)}-{cb(price)}-{sex}</p> }) } </div> ) } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM