根据我的理解,离线第一个应用程序需要一种方法来判断用户是否已连接; 如果没有,它会在本地存储更改并在线时与远程服务器同步.
我发现使用Web应用程序执行此操作的方法是在客户端上使用pouchdb与连接到couchdb数据库的api进行通信.或者使用Firebase.
是否可以使用React-Native具有类似的功能?也许通过使用pouchdb-async-storage适配器.还有其他替代方案可用于本地远程数据同步吗?
我使用ImmutableJS与终极版和终极版,不可改变.假设我有一个初始状态,它是一个空数组:
const initialState = fromJS({
items: [],
other: true,
});
Run Code Online (Sandbox Code Playgroud)
我可以添加一个项目:
case ADD_ITEM:
return state
.updateIn(['items'], list => list.concat({id: 1231}))
.set('other', false);
Run Code Online (Sandbox Code Playgroud)
之后我尝试使用set
或清空项目数组updateIn
:
case EMPTY_ARRAY:
return state
.updateIn(['items'],[])
// or
.set('items', []);
Run Code Online (Sandbox Code Playgroud)
当我尝试使用时,state.get('items').toJS()
我收到错误:
items.get(...).toJS is not a function
Run Code Online (Sandbox Code Playgroud)
清空这个嵌套的不可变数组的正确方法是什么?
arrays ×1
couchdb ×1
immutable.js ×1
javascript ×1
offline ×1
pouchdb ×1
react-native ×1
redux ×1