У меня есть кое-что спросить, я вижу, что в документации всегда есть вызов API, но мне не нужен API для изменения переменной с французского на английский sh или наоборот, так как Я делаю это ?
Вот что я пробовал до сих пор:
<Button
content={intl("FRENCH")}
type="link"
color="link"
size="medium"
entire={false}
onClick={() =>
this.props.changeLanguage({ language: "ENGLISH_LANGUAGE" })
}
>
</Button>
Мое действие changeLanguage работает просто отлично, я протестировал его с консольным журналом и вот действие:
export const changeLanguage = ({ language }) => {
console.log(language);
return {
type: language
};
};
А вот моя сага:
import { changeLanguage } from "../../Actions/Language/language";
import { takeEvery, put, call, fork } from "redux-saga/effects";
function* changeCurrentLanguage({ type }) {
yield put({ type: "ENGLISH_LANGUAGE_CHANGE" });
}
function* watchChangeLanguage() {
yield takeEvery("ENGLISH_LANGUAGE", changeCurrentLanguage);
}
const languageSaga = [fork(watchChangeLanguage)];
export default languageSaga;
Вот эта root сага:
import { all } from "redux-saga/effects";
import connectionSaga from "./Authentification/connection";
import languageSaga from "./Language/language";
export default function* rootSaga() {
yield all([...connectionSaga, ...languageSaga]);
}
Мой простой редуктор:
const initialState = {
language: "en"
};
export default function languageReducer(state = initialState, action) {
switch (action.type) {
case "ENGLISH_LANGUAGE_CHANGE":
console.log("ENGLISH");
return { ...state, language: "en" };
case "FRENCH_LANGUAGE":
return { ...state, language: "fr" };
default:
return state;
}
}
Я есть используя метод put для отправки действия, но действие с ENGLISH_LANGUAGE_CHANGE не запускается, любая помощь будет принята.