Нашел более подходящее решение для моего вопроса, через redux-thunk, который вторым аргументом в экшен передает текущее состояние стора
//redux-app/actions/LoadObject
export function LoadObject({ id }) {
return async ( dispatch, getState ) => {
let objectExist = getState().objects.some( _object => _object.id === id )
if( objectExist )
{
dispatch({
type: LOAD_OBJECT,
payload: {
id,
object: objectExist
}
})
} else {
dispatch({ type: LOAD_OBJECT_BEGIN })
let object = await ObjectApi.Load({ id })
dispatch({
type: LOAD_OBJECT,
payload: {
id,
object
}
})
}
}
}