//useAppState() from AppContext.tsx
const { appState, actions } = useAppState()
const onChangeFileInput = useCallback((event) => {
const files = event.target.files
for (let i in files) {
if (files[i] instanceof window.Blob) {
actions.loadDicom(files[i])
}
}
if (uploadInput && uploadInput.current) {
uploadInput.current.value = ''
}
}, [actions.loadDicom])
//////////////////// AppContext.tsx ////////////////
const value: AppContextState = {
appState: {
state1,
state2,
...
},
actions: actions
}
return <AppContext.Provider value={value}>{children}</AppContext.Provider>
Функция onCahgeFileInput генерируется больше, чем нужно
Я думаю, что useAppState () возвращает действия, компоненты которых считали измененными (верно?)
Я хочу сделать вид блокировки действий .. действие включает в себя несколько функций, которые устанавливают appStates.
Есть ли хорошее решение? я должен изменить константу 'value' в AppContext на что-то, используя useRef ??