diff --git a/.vs/LEARNIHON/FileContentIndex/8b62d542-6a90-4e8e-911c-376b5df63c5a.vsidx b/.vs/LEARNIHON/FileContentIndex/8b62d542-6a90-4e8e-911c-376b5df63c5a.vsidx
new file mode 100644
index 0000000..3c60d02
Binary files /dev/null and b/.vs/LEARNIHON/FileContentIndex/8b62d542-6a90-4e8e-911c-376b5df63c5a.vsidx differ
diff --git a/.vs/LEARNIHON/FileContentIndex/985f779d-3e71-41e7-8e72-34b885e698a7.vsidx b/.vs/LEARNIHON/FileContentIndex/985f779d-3e71-41e7-8e72-34b885e698a7.vsidx
deleted file mode 100644
index 1fcabfc..0000000
Binary files a/.vs/LEARNIHON/FileContentIndex/985f779d-3e71-41e7-8e72-34b885e698a7.vsidx and /dev/null differ
diff --git a/.vs/LEARNIHON/FileContentIndex/c4f4ae09-c384-4dd2-87f4-19f2615f5a9c.vsidx b/.vs/LEARNIHON/FileContentIndex/c4f4ae09-c384-4dd2-87f4-19f2615f5a9c.vsidx
deleted file mode 100644
index 7060fc4..0000000
Binary files a/.vs/LEARNIHON/FileContentIndex/c4f4ae09-c384-4dd2-87f4-19f2615f5a9c.vsidx and /dev/null differ
diff --git a/.vs/LEARNIHON/FileContentIndex/d3547d75-a692-4b0c-a286-04b099bcd097.vsidx b/.vs/LEARNIHON/FileContentIndex/d3547d75-a692-4b0c-a286-04b099bcd097.vsidx
new file mode 100644
index 0000000..f0d1dce
Binary files /dev/null and b/.vs/LEARNIHON/FileContentIndex/d3547d75-a692-4b0c-a286-04b099bcd097.vsidx differ
diff --git a/components/KanjiCard.tsx b/components/KanjiCard.tsx
index 5154b8f..73d21e3 100644
--- a/components/KanjiCard.tsx
+++ b/components/KanjiCard.tsx
@@ -25,7 +25,6 @@ const KanjiCard = (props: KanjiProps) => {
}
}
- const [loading, setLoading] = useState(true);
const [kanji, setKanji] = useState((): Kanji | null => { return null });
const [imgXml, setImgXml] = useState('');
@@ -35,14 +34,7 @@ const KanjiCard = (props: KanjiProps) => {
const allKanjis: Kanji[] = [].concat(...Object.values(kanjis))
const selectedKanji = allKanjis[Math.floor(Math.random() * allKanjis.length)]
- const fetchData = async () => {
- await fetch(`https://kanjialive-api.p.rapidapi.com/api/public/kanji/${props.kanji}`, options)
- .then(async response => {
- const data = await response.json()
- setKanji(KanjiMapper.ApiJsonToKanji(data));
- })
- .catch(err => console.log(err));
- }
+
const fetchXml = async () => {
if (kanji) {
@@ -52,38 +44,30 @@ const KanjiCard = (props: KanjiProps) => {
}
useEffect(() => {
- setLoading(true);
- fetchData().then(_ => {
- setKanji(selectedKanji);
- setLoading(false);
- });
+ setKanji(selectedKanji);
}, []);
useEffect(() => {
- setLoading(true);
fetchXml().then(_ => {
- setLoading(false);
});
}, [kanji]);
return (
- {loading ? Loading... : {kanji?.onyomi}}
- {!loading && (
+ {kanji?.onyomi}
- )}
- {loading ? : {kanji?.meaning}}
+ {kanji?.meaning}
);
-};
+};
const kanjiCardStyle_light = StyleSheet.create({
svg: {
diff --git a/navigation/Startup.tsx b/navigation/Startup.tsx
index 16d53a1..7ae899c 100644
--- a/navigation/Startup.tsx
+++ b/navigation/Startup.tsx
@@ -40,7 +40,7 @@ export default function Startup() {
const init = async () => {
- await dispatch(await fetchKanjis());
+ await (await fetchKanjis())(dispatch);
//await new Promise(resolve => setTimeout(resolve, 5000));
navigator.navigate("Main");
}
diff --git a/redux/actions/setKanjis.ts b/redux/actions/setKanjis.ts
index fa7be81..3c1811d 100644
--- a/redux/actions/setKanjis.ts
+++ b/redux/actions/setKanjis.ts
@@ -1,8 +1,7 @@
-import { Kanji } from '../../model/kanji';
import { SET_KANJIS } from '../constants';
import { KanjiListByGrade } from '../../model/kanjiListByGrades';
-export const setKanjis = (kanjis: kanjiListByGrade) => {
+export const setKanjis = (kanjis: KanjiListByGrade) => {
return {
type: SET_KANJIS,
payload: kanjis,
diff --git a/redux/reducers/kanjiReducer.ts b/redux/reducers/kanjiReducer.ts
index 2f243a0..a72b2d1 100644
--- a/redux/reducers/kanjiReducer.ts
+++ b/redux/reducers/kanjiReducer.ts
@@ -11,9 +11,11 @@ export default function kanjiReducer(state = initialState, action) {
switch (action.type) {
case c.SET_KANJIS:
// @ts-ignore
+ console.log("SET KANJIS");
return { ...state, kanjis: action.payload };
case c.SET_SELECTED_KANJI:
// @ts-ignore
+ console.log("SET SELECTED");
return { ...state, selectedKanji: action.payload };
default:
return state;
diff --git a/redux/store.ts b/redux/store.ts
index 9ce2376..256c630 100644
--- a/redux/store.ts
+++ b/redux/store.ts
@@ -10,6 +10,10 @@ const reducer = {
const store = configureStore(
{
reducer,
+ middleware: [createSerializableStateInvariantMiddleware({
+ ignoredActions: ["SET_KANJIS", "SET_SELECTED_KANJI"],
+ ignoreActions: true
+ })]
},);
export default store;
\ No newline at end of file
diff --git a/redux/thunks/fetchKanjis.ts b/redux/thunks/fetchKanjis.ts
index 5a69c13..be84384 100644
--- a/redux/thunks/fetchKanjis.ts
+++ b/redux/thunks/fetchKanjis.ts
@@ -1,3 +1,4 @@
+import { useDispatch } from 'react-redux';
import { initKanjiListByGrade, KanjiListByGrade } from '../../model/kanjiListByGrades';
import { KanjiMapper } from '../../model/kanjiMapper';
import { setKanjis } from '../actions/setKanjis';
@@ -18,7 +19,7 @@ export const fetchKanjis = async () => {
const fetchData = async (grade: string) => {
return fetch(`https://kanjialive-api.p.rapidapi.com/api/public/search/advanced/?grade=${grade}`, options)
}
- return async dispatch => {
+ return async (dispatch) => {
const fetchAll = async () => {
for (let i = 1; i <= 6; i++) {
await fetchData(i.toString()).then(async (response) => {