javascript - 在 react 中获取导入函数的未定义值

标签 javascript reactjs

我根据在搜索框中键入的文本过滤数据。我首先过滤数据然后映射它。我的代码按预期工作,但有一个函数重复,所以我将它放入 util 文件夹,然后在文件中使用它。但问题是我得到的值是 undefined 来自那个 util 函数。

Members.js 之前的代码:

import React from 'react'
import members from '../members.json'

function Member({searchTerm}) {
  return (
    <div>
      {
        members.filter((ele) =>
                ele.first_name
                  .toLowerCase()
                  .includes(searchTerm.toLocaleLowerCase()) ||
                ele.last_name
                  .toLowerCase()
                  .includes(searchTerm.toLocaleLowerCase()))
        .map(ele => {
          return (
            <div key={ele.id}>
              <h1>Name: {ele.first_name} {ele.last_name}</h1>
            </div>
          )
        })
      }
    </div>
  )
}

export default Member

我使用 Utils 的新方法

utils/helper.js:

const searchMembers = (membersArr, searchTerm) => {
  return membersArr.filter(
    (ele) =>
      ele.first_name
        .toLowerCase()
        .includes(searchTerm.toLocaleLowerCase()) ||
      ele.last_name.toLowerCase().includes(searchTerm.toLocaleLowerCase())
  );
}

export { searchMembers }

成员.js

import React from 'react'
import members from '../members.json'
import {searchMembers} from '../utils/helper'

function Member({searchTerm}) {
  const {searchMember} = searchMembers(members, searchTerm)
  console.log('searchMember:', searchMember)      //undefined
  return (
    <div>
      {
        searchMember.map(ele => {
          return (
            <div key={ele.id}>
              <h1>Name: {ele.first_name} {ele.last_name}</h1>
            </div>
          )
        })
      }
    </div>
  )
}

export default Member

对于上述方法,我得到错误 searchMember.filter is not a function

你们能帮帮我吗?

谢谢

最佳答案

您的searchMembers 方法直接返回过滤后的结果。当你的代码

const {searchMember} = searchMembers(members, searchTerm)

尝试从返回的数据中提取searchMember(通过解构)。

使用

const searchMember = searchMembers(members, searchTerm)

关于javascript - 在 react 中获取导入函数的未定义值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70302266/

相关文章:

javascript - 在 React/TypeScript/Webpack 中覆盖 JSON 文件

javascript - ngRoute 不工作。我做错了什么吗

javascript - 使用 Next.js 通过服务器端渲染响应查询

javascript - 为什么redux-thunks需要绑定(bind)dispatch?

reactjs - 键应该是唯一的,以便组件在更新时保持其身份

javascript - 如何改变深度嵌套的 child ?

node.js - 我如何使用mongoose、nodejs从Mongodb获取数据

javascript - 如何在纯 JavaScript 中切换元素的类?

javascript - 为我的表集成推送的简单方法?

javascript - 使用 javascript 将 JSON 对象转换为 XML