- 函数式的setData能否实现?
- 小程序的数据绑定必须通过this.setData({},callback)这种形式才能改变。业务逻辑比较复杂时,可能setData使代码没那么精简。所以希望微信官方能让setData支持函数式的。这样方便开发复杂的功能,而代码也更精简。类似React的setState就支持函数式的!
函数式的setState是React的未来,那么setData能否成为微信小程序的未来勒?
参考文章: https://juejin.im/post/5bd0191a6fb9a05cf9087284?utm_medium=fe&utm_source=weixinqun

setData 将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。 https://developers.weixin.qq.com/miniprogram/dev/framework/app-service/page.html#pageprototypesetdataobject-data-function-callback
小型项目。官方目前的setData,已经很好用了。
但是在些复杂的大型项目中,有些项目产品需求中,会存在一个值频繁的在某些场景下修改。
目前我们都是通过if else 通过条件判断,再执行遍setData。导致到处都是setData,
所以我大胆设想下,如果支持函数式的setData,也就是类似于React的那种函数式this.setState((state,props)=>({"k":v}))。会使很多代码可以抽离成模块,得到复用,从而提升开发者的开发效率?
不知有没有道友认同我的建议。
你的文章中提到的根本问题(数据异步改变)在小程序的场景下不存在,而如果只是需要函数式 setData 的话,开发者完全可以自己对官方 setData 进行封装实现,不需要框架这边进行改动的。
有什么场景需要用到函数式吗,能举个例子吗。。
在复杂的大型项目的项目产品需求中,会存在一个值频繁的在某些场景下修改。
目前我们都是通过if else 通过条件判断,再执行遍setData。导致到处都是setData,
所以我大胆设想下,如果支持函数式的setData,也就是类似于React的那种函数式this.setState((state,props)=>({"k":v}))。会使很多代码可以抽离成模块,得到复用,从而提升开发者的开发效率?
不知有没有道友认同我的建议。