Я хотел бы получить доступ к значению из home.js внутри моей саги, но я получаю, что Typerror не определен, это не объект, оценивающий payload.val.
Я хочу перенести val из типа действия SET_RSSI в PERSIST_RSSI_SUCCESS.
возможно ли получить к нему доступ в redux-саге?
action.js:
export const $setRssi = val => {
return (dispatch, getState) => {
const URL = getState().connect.URL;
dispatch({type: Types.SET_RSSI, val, URL});
};
};
saga.js:
function* persistRssi({payload}) {
let {val, URL} = payload;
try {
yield axios
.post('http://' + URL + ':8080/rest/items/rssi', val, config)
.then(response => {
console.log('STATUS RESPONSE FROM PERSIST RSSI' + response.status);
});
yield put({type: Types.SET_BATT_SUCCESS, val});
} catch (error) {
yield put({type: Types.SET_BATT_FAILURE});
}
}
function* actionWatcher() {
yield takeLatest(Types.SET_RSSI, persistRssi);
}
export default function* rootSaga() {
yield all([actionWatcher()]);
}
reducer.js:
import * as Types from '../../actions/Types';
import defaultState from './state';
module.exports = (state = defaultState, action) => {
switch (action.type) {
case Types.SCANNING:
return {
...state,
scanning: !action.val,
};
case Types.SET_RSSI_SUCCESS:
return {
...state,
rssi: action.val,
};
case Types.SET_RSSI_FAILURE:
return state;
default:
return state;
}
};
Я не уверен насчет логики здесь, не подтверждает сагой логика или нет ???