[英]How can I resolve error 'ext-all.js Uncaught TypeError: Cannot call method 'getProxy' of undefined' ?
[英]How to resolve uncaught error createSelector method?
我在我的 Angular 應用程序中使用選擇器,但調用選擇器時出現未捕獲的錯誤。 盡管我已將所需的選擇器函數作為參數提供給createSelector
。 根據此處的重新選擇文檔 - https://github.com/reduxjs/reselect
Uncaught Error: Selector creators expect all input-selectors to be functions,
instead received the following types: [object]
我確實在這里發現了一個類似的問題,這表明將選擇器從箭頭 function 更改為普通的 function 聲明將解決它。 為了解決 function 聲明的任何提升問題,但這並不能解決未捕獲的錯誤 - https://github.com/reduxjs/reselect/issues/169
通過傳入store.getState()
作為參數來調用選擇器:
let state = getBookTitles(this.store.getState());
問題:
調用重新選擇的createSelector
時如何解決未捕獲的錯誤?
這是我的 Selectors.js 文件,其中包含應用程序 state 選擇器:
// Selectors.js
import { createSelector } from 'reselect';
function selectBooks(state: any) {
return state ? state.books: [];
}
function selectBookTitles(books: any) {
return books ? books.titles: [];
}
// bookTitle selector
export let getBookTitles = createSelector(
selectBooks,
selectBookTitles,
);
原來錯誤來自selector.js
文件中錯誤定義的選擇器。
錯誤:
Uncaught Error: Selector creators expect all input-selectors to be functions,
instead received the following types: [object]
語法錯誤:
export const selectConfig = createSelector(
[initialSettingsState.config],
'config',
);
正確的語法:
const configSelector = state => {
return state ? state.config: [];
};
export const getConfig = createSelector(
configSelector,
config=> {
return config;
},
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.