我正在开发一个通过REST API控制IOT设备的应用程序。 我在应用程序内部使用Realm数据库来保留由IOT传感器捕获的历史数据。我还决定使用它来保存有关用户和设备的信息。 redux-persist似乎不是最佳选择,因为该应用程序最终将处理历史数据的大表。
我现在正在使用Redux-Thunk构建我的Redux动作,我对理想的工作流程/数据流感到怀疑。我目前正在像这样的redux动作中调用领域:
function addNew(deviceIp) {
const request = () => { return { type: c.ADD_REQUEST } };
const success = (payload) => { return { type: c.ADD_SUCCESS, payload} };
const failure = (payload) => { return { type: c.ADD_FAILURE, payload } };
return async (dispatch,getState) => {
dispatch(request());
try {
const res = await apiService.getIt(deviceIp + urls.general);
// Convert responses to date before Realm Insertion
const newDevice = {
...res.deviceInfo[0],
host: deviceIp,
manufacturingDate: new Date(res.deviceInfo[0].manufacturingDate),
lastFwUpdateDate: new Date(res.deviceInfo[0].lastFwUpdateDate),
firstLaunchDate: new Date(res.deviceInfo[0].firstLaunchDate),
lastResetDate: new Date(res.deviceInfo[0].lastResetDate)
};
const addedDevice = await realmActions.createNew('Device',newDevice);
dispatch(success(addedDevice));
}
catch (error)
{
dispatch(failure(error));
}
};
}
realmActions.createNew(collectionName, newEntry)
是我创建的一种方法,用于将新条目添加到Realm DB中的指定collection
中。我主要关注这种方法。