react-native - 更新/添加嵌套 redux 状态的最佳方法
问题描述
我正在使用带有 redux 的 react native,我的 UI 可以使用以下格式增加 attr 的值
{
'page1': {
'attrs': [
{
'attr1': {
'value': 10
}
},
{
'attr2': {
'value': 20
}
}
]
}
}
添加attr的三种情况:
- 如果attr,例如'attr2'已经存在,增加它的值
- 如果 attr,例如 'attr3' 不存在,添加一个新的 attr
- 如果页面,例如“page2”不存在,添加一个新页面,然后添加一个新属性
空值检查和循环列表将是很多逻辑。有什么速记或最好的方法吗?
解决方案
我认为您可以稍微改进您的数据结构以使更新更容易。在您的情况下,“attrs”不需要是一个数组。你可以这样做:
{
"page1": {
"attrs": {
"attr1": 10,
"attr2": 20,
"attr3": 30
}
}
}
所以测试一个属性是否存在应该像这样简单
if(page1.attrs[atrrName]) {...}
推荐阅读
- arrays - 索引超出了数组的范围,但标签在那里
- android - 在 Espresso Android 中执行测试之前撤销权限
- angular - Uncaught (in promise) 无法匹配任何路由。网址段:
- android - RecyclerView多选取消选择错误的ViewHolders
- c# - C# 创建一个继承接口并覆盖方法的运行时类
- node.js - 使用 jwt-webtoken 和请求使用远程 api
- python - HTML 编码/解码:Perl/Python 输出不匹配
- winforms - 在 powershell 中编辑生成对象的属性
- c# - Visual Studio - 自定义运行操作以使用 DebugAdapterHost.launch
- php - 从一个字符串中删除字符到另一个 php