React Native Reducer结构较深与render map展示刷新问题
2017-08-28 15:34
232 查看
上周在做一个膳食项目,项目核心需求是
上传三天的膳食拍照图片,
1、one day by one day(四级水平。。。)
2、每天的信息精确到三餐(可灵活加餐)、
3、餐前(后)、
4、拍照角度(45、90、145)
背景情况
一、
后端给的参数也决定了,我需要用到三位数组来store我的膳食数据,由于可以实现灵活加餐,所以我最外层数组的长度是大于3的动态情况
二、
为了提高前端代码的可读性,我充分发挥了三位数组结构的逻辑优越性,连用了三个map循环render膳食图片
遇到的问题
一、
focus界面的时候,拿到数据之后我会重新初始化我的reducer结构(肯定不能枚举三位数组吧),这时我的最底层数据不能实现重新渲染
二、当我实现动态加餐的时候,新增缺省数据不能重新渲染
可行性解决方案分析:
1、reducer结构写的过深 =》 尝试:强制刷新并没有用
2、reducer结构初始化失败、数据没有写入 =》 尝试:在Debugger上可以看到state精确信息
3、map 的key问题 => 尝试:没毛病
真实原因:
三层map写的过深,我尝试把最内层的map去掉,发现一切问题都解决了,避免了代码重构的厄运
上传三天的膳食拍照图片,
1、one day by one day(四级水平。。。)
2、每天的信息精确到三餐(可灵活加餐)、
3、餐前(后)、
4、拍照角度(45、90、145)
背景情况
一、
后端给的参数也决定了,我需要用到三位数组来store我的膳食数据,由于可以实现灵活加餐,所以我最外层数组的长度是大于3的动态情况
二、
为了提高前端代码的可读性,我充分发挥了三位数组结构的逻辑优越性,连用了三个map循环render膳食图片
遇到的问题
一、
focus界面的时候,拿到数据之后我会重新初始化我的reducer结构(肯定不能枚举三位数组吧),这时我的最底层数据不能实现重新渲染
二、当我实现动态加餐的时候,新增缺省数据不能重新渲染
可行性解决方案分析:
1、reducer结构写的过深 =》 尝试:强制刷新并没有用
2、reducer结构初始化失败、数据没有写入 =》 尝试:在Debugger上可以看到state精确信息
3、map 的key问题 => 尝试:没毛病
真实原因:
三层map写的过深,我尝试把最内层的map去掉,发现一切问题都解决了,避免了代码重构的厄运
相关文章推荐
- React Native Map遍历问题
- 【React Native】刷新组件RENDER(重新渲染)的三种方式详解
- 利用Immutable解决React-Native那些因为对象被篡改导致的多次render问题
- 解决react-native的Navigator跳转不刷新页面的问题
- 利用Immutable解决React-Native那些因为对象被篡改导致的多次render问题
- 利用Immutable解决React-Native那些因为对象被篡改导致的多次render问题
- Ubuntu开发React-Native之代码刷新解决方案
- 关于React Native 报Export declarations are not supported by current JavaScript version错误的解决问题
- 【转】react-native-微信支付问题总结
- react-native 登录页面问题总结
- react-native-vector-icons使用时遇到的问题
- react-native里TextInput遇到的一些问题及解决方案
- React-Native之无法找到 react-native-windows 问题解决方案
- Fragment应用放置后台很久再次进入不会重新刷新数据展示、或者直接崩溃问题解决
- 详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
- 运行react-native 可能遇到的问题
- React 关于array.map应该注意的问题
- react—native的reload问题
- ReactNative问题随记1 Exception in thread "main" java.lang.RuntimeException: gradle-2.14.1-all.zip
- react-native 部分手机二维码扫面页面黑屏的问题(不能使用相机)