1.0.3 • Published 5 years ago
jerrys-safer v1.0.3
safer
React Trigger Component
description
import { React } from 'react'
const App = props => {
return (
<div>
{serverData
&& serverData.producList
&& serverData.producList[0]
&& serverData.producList[0].price
&& ( <div>{`the price is ${serverData.producList[0].price}`}</div>
)}
</div>
)
}
如果你不想再写出这样的代码,可以来试试 safer。
使用 safer 可以安心读写对象的属性和值,让开发者将精力集中在代码逻辑上,引入 safer 并包裹在想要读写的对象外层,即可安全使用。 当获取/赋予的属性不存在时,程序并不会崩溃白屏,可以减少开发者为了“保证程序健壮性”而加入的层层判断的冗余代码。
NOTE: safer 使用了 Proxy 的特性来实现安全读写功能,如果浏览器环境不支持 Proxy,可以使用 proxy-polyfill。
safer 也支持方法的调用。如果对象中的方法不一定存在,那么也可以使用 safer 包裹在外层,安心调用
install
npm install jerrys-safer --save
Example
online example: demo
Usage
import { React } from 'react'
import { magicData } from '../api'
import { safer } from 'jerrys-safer'
const safeData = safer(magicData)
safeData.a.b.c.d.c.name = 'jerry' // fine
const App = props => {
return (
<div>
{safeData.a.b.c.d.f.g.get()}
</div>
)
}
API
props
rc-trigger is released under the MIT license. -->