gpt4 book ai didi

javascript - 如何解决createSelector方法 Uncaught Error ?

转载 作者:行者123 更新时间:2023-12-02 22:32:27 24 4
gpt4 key购买 nike

我在 Angular 应用程序中使用选择器,但调用选择器时出现 Uncaught Error 。尽管我已将所需的选择器函数作为参数提供给 createSelector。根据此处的重新选择文档 - https://github.com/reduxjs/reselect

Uncaught Error: Selector creators expect all input-selectors to be functions, 
instead received the following types: [object]

我确实在这里发现了一个类似的问题,这表明将选择器从箭头函数更改为普通函数声明可以修复它。为了解决函数声明的任何提升问题,但这并不能解决 Uncaught Error - https://github.com/reduxjs/reselect/issues/169

通过传入 store.getState() 作为参数来调用选择器:

let state = getBookTitles(this.store.getState());

问题:

如何解决调用重新选择的 createSelector 时 Uncaught Error ?

这是我的 Selectors.js 文件,其中包含应用程序状态选择器:

// 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;
},
);

关于javascript - 如何解决createSelector方法 Uncaught Error ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58849703/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com