简单的前端数据映射案例
定义 (前端数据映射): 把后台数据转换成前端自定义的数据格式
为什么要有数据映射?为了复用组件,但是每一个组件复用时传递的数据不同,所以要将后台数据转换为自定义数据格式
实例代码:
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>
)
}
}
浙公网安备 33010602011771号