【问题标题】:How to catch data in react-redux when error trim is show?显示错误修剪时如何在 react-redux 中捕获数据?
【发布时间】:2019-08-05 14:18:15
【问题描述】:

当我没有声明类别时,我无法加载帖子,但是如果我尝试设置默认类别,那么我不能为另一个类别更改类别?有没有想出主意怎么办? useSelector - Redux。

 const catchTaxonomies = useSelector(
    state => ({
      catchTaxonomies: state.catchTaxonomies
    })
  );

let taxonomiesEqual =  catchTaxonomies.catchTaxonomies;

根据来自 siedbar 的 catchTaxonomies 发送的类别从 Kentico 下载数据


const fetchArticles = categories => {
    client.items()
      .type("article")
      .containsFilter("elements.categories", [categories])
      .elementsParameter(["title", "image", "urlslug", "headline", "content", "pagination", "categories"])
      .getObservable()
      .subscribe(response => {
        console.log(response.items);
        if(response.pagination.nextPage) {
          setLoadNewArticles(!loadNewArticles);
        }else {
          setLoadNewArticles(false);
        }
        setData(response.items);
        setLoading(!isLoading);
      });
  }

我把这个函数放到useEffect中

useEffect(() => {  
      fetchArticles(taxonomiesEqual);
  }, [])

错误信息:

filters.js:171 Uncaught TypeError: m.trim is not a function 在过滤器.js:171 在 Array.map() 在 ContainsFilter.getParamValue (filters.js:170) 在 url.helper.js:22 在 Array.forEach () 在 UrlHelper.addOptionsToUrl (url.helper.js:20) 在 QueryService.BaseDeliveryQueryService.getUrl (base-delivery-> > query.service.js:93) 在 MultipleItemQuery.BaseQuery.resolveUrlInternal (base-query.class.js:57) 在 MultipleItemQuery.BaseItemQuery.getMultipleItemsQueryUrl (base-item-query.class.js:93) 在 MultipleItemQuery.BaseItemQuery.runMultipleItemsQuery (base-item-query.class.js:104) 在 MultipleItemQuery.getObservable (multiple-item-query.class.js:234) 在 fetchArticles (Main.js:33) 在 Main.js:53 在 commitHookEffectList (react-dom.development.js:18053) 在 commitPassiveHookEffects (react-dom.development.js:18080) 在 HTMLUnknownElement.callCallback (react-dom.development.js:147) 在 Object.invokeGuardedCallbackDev (react-dom.development.js:196) 在 invokeGuardedCallback (react-dom.development.js:250) 在 commitPassiveEffects (react-dom.development.js:19706) 在包装(调度程序跟踪.development.js:177) 在 flushPassiveEffects (react-dom.development.js:19759) 在 renderRoot (react-dom.development.js:20332) 在 performWorkOnRoot (react-dom.development.js:21357) 在 performWork (react-dom.development.js:21267) 在 performSyncWork (react-dom.development.js:21241) 在 requestWork (react-dom.development.js:21096) 在 scheduleWork (react-dom.development.js:20909) 在 scheduleRootUpdate (react-dom.development.js:21604) 在 updateContainerAtExpirationTime (react-dom.development.js:21630) 在 updateContainer (react-dom.development.js:21698) 在 ReactRoot.push../node_modules/react-dom/cjs/react-dom.development.js.ReactRoot.render (react-dom.development.js:22011) 在 react-dom.development.js:22163 在 unbatchedUpdates (react-dom.development.js:21486) 在 legacyRenderSubtreeIntoContainer (react-dom.development.js:22159) 在 Object.render (react-dom.development.js:22234) 在 Module../src/index.js (index.js:8) 在 webpack_require (bootstrap:781) 在 fn(引导程序:149) 在 Object.0 (index.js:10) 在 webpack_require (bootstrap:781) 在 checkDeferredModules (bootstrap:45) 在 Array.webpackJsonpCallback [作为推送] (bootstrap:32) 在 main.chunk.js:1

【问题讨论】:

    标签: redux react-hooks trim kentico-kontent


    【解决方案1】:

    您的查询失败,因为“containsFilter”的第二个参数包含无效参数。您需要传递一个字符串数组,例如:

    .containsFilter('elements.categories', ['category1', 'category2'])
    

    您能否仔细检查您在categories 变量中获得的值?

    【讨论】:

    • 我动态创建对象,更改分类法并加载帖子;)
    猜你喜欢
    • 2021-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多