runInAction 에 비동기
mobx react next 로 하고 있는데
runInAction 에서 비동기처리를 하려면 어떻게 해야되나요?
Component.tsx
const store = useIndexStore();
useEffect(() => {
const fetchData = async () => {
await store.loadNewMemberData();
console.log(store.newMember)
}
fetchData();
}, [])
일단 훅스 컴포넌트에서 useEffect에서 store 에 저장된 정보를 불러와야되는데 Promise 기때문에 따로 함수를 만들어줘서 호출을 했고요.
useEffect 뜯어보니 함수 리턴타입이 void|Destructor(?) 라 Promise 타입을 못받아서 저렇게 만들었습니다.
1. useEffect 에서 비동기 작업을 할때 저렇게 async 함수 만들어서 호출해야되는건가요?
2. async 함수를 만들었으면 꼭 await 으로 호출안해도 되는건가요?
store.ts
class IndexStore {
root;
repository
rtrMenu: MenuItem[] = []//
constructor(root: RootStore, repository: BaseRepository) {
this.root = root
this.repository = repository
makeAutoObservable(this)
}
loadRealtimeRequestData = async (): Promise<void> => {
runInAction(() => {
this.rtrMenu =this.repository.getRealTimeRequestItem()
});
}
}
store에선 loadRealtimeRequestData() 함수에서
네트워크 요청한 결과를 받습니다. await this.repository.... 여기가 await axios.get() 이런 역할을 하게 되는데 then 을 하면 쉽게 해결될문제지만 async awiat 으로 runInAction 안에서 처리할려면 어떻게 해야되나요?
답변 1
context api, redux를 혼용하는건 별로일까요?
0
369
1
섹션 3 mobx autorun 관련 질문입니다.
0
257
1
thunk 미들웨어 잡업 중 논리로직 단계? 질문이 있습니다.
0
286
1
rootSaga에서 call를 사용하는 이유가 궁금합니다.
0
358
1
observable의 함수를 익명함수로 바꿔봤습니다.
0
385
1
useSelector 리랜더링 질문있습니다.
0
382
1
비동기 action 타입을 뭘로 지정해야 할까요?
0
258
1
redux-thunk질문
0
432
1
state 변경 시 질문
0
346
1
state변경 시 질문
0
329
2
firstMiddleware와 thunkMiddleware 순서 질문
0
434
1
객체 동적 다이나믹 속성?? 질문
1
273
1
미들웨어 질문
0
247
1
리덕스 사가 실습 파일 확인 부탁드립니다!
1
582
2
1-6 강의에서 질문 있습니다!
1
359
1
redux-saga 깃헙 파일
0
371
1
createStore -> configureStore
0
300
1
전역 변수와 전역 상태 값
0
667
2
Redux toolkit 과 axios API 호출에 관한 질문입니다.
0
439
1
MobX Data
0
233
1
mobx state action 변화 감지 관련
0
719
1
mobx configure
0
211
1
리덕스 툴킷 과 saga질문
0
289
1
로깅 미들웨어 질문입니다
0
240
1





