权限没有,则隐藏 function forum_list_access_filter($forumlist, $gid, $allow = 'allowread') { global $grouplist; if (empty($forumlist)) return array(); if (1 == $gid) return $forumlist; $forumlist_filter = $forumlist; $group = $grouplist[$gid]; foreach ($forumlist_filter as $fid => $forum) { if (empty($forum['accesson']) && empty($group[$allow]) || !empty($forum['accesson']) && empty($forum['accesslist'][$gid][$allow])) { unset($forumlist_filter[$fid]); } unset($forumlist_filter[$fid]['accesslist']); } return $forumlist_filter; } function forum_filter_moduid($moduids) { $moduids = trim($moduids); if (empty($moduids)) return ''; $arr = explode(',', $moduids); $r = array(); foreach ($arr as $_uid) { $_uid = intval($_uid); $_user = user_read($_uid); if (empty($_user)) continue; if ($_user['gid'] > 4) continue; $r[] = $_uid; } return implode(',', $r); } function forum_safe_info($forum) { //unset($forum['moduids']); return $forum; } function forum_filter($forumlist) { foreach ($forumlist as &$val) { unset($val['brief'], $val['announcement'], $val['seo_title'], $val['seo_keywords'], $val['create_date_fmt'], $val['icon_url'], $val['modlist']); } return $forumlist; } function forum_format_url($forum) { global $conf; if (0 == $forum['category']) { // 列表URL $url = url('list-' . $forum['fid'], '', FALSE); } elseif (1 == $forum['category']) { // 频道 $url = url('category-' . $forum['fid'], '', FALSE); } elseif (2 == $forum['category']) { // 单页 $url = url('read-' . trim($forum['brief']), '', FALSE); } if ($conf['url_rewrite_on'] > 1 && $forum['well_alias']) { if (0 == $forum['category'] || 1 == $forum['category']) { $url = url($forum['well_alias'], '', FALSE); } elseif (2 == $forum['category']) { // 单页 $url = ($forum['threads'] && $forum['brief']) ? url($forum['well_alias'] . '-' . trim($forum['brief']), '', FALSE) : url($forum['well_alias'], '', FALSE); } } return $url; } function well_forum_alias() { $forumlist = forum_list_cache(); if (empty($forumlist)) return ''; $key = 'forum-alias'; static $cache = array(); if (isset($cache[$key])) return $cache[$key]; $cache[$key] = array(); foreach ($forumlist as $val) { if ($val['well_alias']) $cache[$key][$val['fid']] = $val['well_alias']; } return array_flip($cache[$key]); } function well_forum_alias_cache() { global $conf; $key = 'forum-alias-cache'; static $cache = array(); // 用静态变量只能在当前 request 生命周期缓存,跨进程需要再加一层缓存:redis/memcached/xcache/apc if (isset($cache[$key])) return $cache[$key]; if ('mysql' == $conf['cache']['type']) { $arr = well_forum_alias(); } else { $arr = cache_get($key); if (NULL === $arr) { $arr = well_forum_alias(); !empty($arr) AND cache_set($key, $arr); } } $cache[$key] = empty($arr) ? '' : $arr; return $cache[$key]; } ?>reactjs - Why am I getting 'X is not a function or its return value is not iterable' in JavaScript? - Stack Over
最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

reactjs - Why am I getting 'X is not a function or its return value is not iterable' in JavaScript? - Stack Over

programmeradmin6浏览0评论

I am trying to iterate over the result of calling function X, but I get the error: 'X is not a function or its return value is not iterable.

I am using RTK Query. I am fetching data using post call on button click.

this is how my code looks like

searchApiSlice.js

export const searchApiSlice = apiSlice.injectEndpoints({
    endpoints: (builder) => ({
        searchCustomers: builder.query({
            query: (reqBody) => ({
            url: '/customers/search',
            method: 'POST',
            body: reqBody
        })
        }),
    })
});

export const { useSearchCustomersQuery } = searchApiSlice;

SearchControls.js

function SearchControls(){
  
  const req = { startDate: "2024-10-01T12:00:00", endDate: "2024-08-29T12:00:00" };

  const [ trigger, { data } ] = api.endpoints.searchCustomers.useLazyQuery();

  function handleSearch(args){
    trigger(args)
  }

  return(
    <div>
      <button type="button" onClick={() => handleSearch(req)}>Search</button>
   </div>
  );
}

export default SearchControls;

What could be causing this issue? I have checked that X is defined, but I am still encountering this error.

TypeError
(0 , _searchApiSlice__WEBPACK_IMPORTED_MODULE_1__.useSearchCustomersQuery) is not a function or its return value is not iterable

I am trying to iterate over the result of calling function X, but I get the error: 'X is not a function or its return value is not iterable.

I am using RTK Query. I am fetching data using post call on button click.

this is how my code looks like

searchApiSlice.js

export const searchApiSlice = apiSlice.injectEndpoints({
    endpoints: (builder) => ({
        searchCustomers: builder.query({
            query: (reqBody) => ({
            url: '/customers/search',
            method: 'POST',
            body: reqBody
        })
        }),
    })
});

export const { useSearchCustomersQuery } = searchApiSlice;

SearchControls.js

function SearchControls(){
  
  const req = { startDate: "2024-10-01T12:00:00", endDate: "2024-08-29T12:00:00" };

  const [ trigger, { data } ] = api.endpoints.searchCustomers.useLazyQuery();

  function handleSearch(args){
    trigger(args)
  }

  return(
    <div>
      <button type="button" onClick={() => handleSearch(req)}>Search</button>
   </div>
  );
}

export default SearchControls;

What could be causing this issue? I have checked that X is defined, but I am still encountering this error.

TypeError
(0 , _searchApiSlice__WEBPACK_IMPORTED_MODULE_1__.useSearchCustomersQuery) is not a function or its return value is not iterable
Share Improve this question edited Feb 14 at 14:11 noBoom asked Jan 14 at 13:10 noBoomnoBoom 1451 gold badge3 silver badges13 bronze badges 3
  • Are you asking about 2 different problems, or is the error at the end of the post what you want specific help with? The code all seems fine to me, can you edit the title to more accurately reflect what you are asking for help with, and to add a complete minimal reproducible example? See also if you can create a running CodeSandbox demo that reproduces the issue that readers can inspect live. – Drew Reese Commented Jan 14 at 16:27
  • if code looks fine then yes question is about the error. – noBoom Commented Jan 14 at 17:09
  • Please edit to include the complete error message and any accompanying stacktrace(s), and a complete minimal reproducible example that reproduces the problem. – Drew Reese Commented Jan 14 at 20:23
Add a comment  | 

1 Answer 1

Reset to default 0

following error went away after updating version of react and redux

TypeError
(0 , _searchApiSlice__WEBPACK_IMPORTED_MODULE_1__.useSearchCustomersQuery) is not a function or its return value is not iterable
发布评论

评论列表(0)

  1. 暂无评论