javascript - 根据用户输入 javascript 返回过滤后的数组

标签 javascript arrays reactjs filter scope

我有一个用户输入。
基于该输入,我需要过滤一组选项。
我已经可以提交数据了,我现在在我的handleSubmitData里面我正在编写 if 的函数条件,然后应该将过滤后的结果数组返回到屏幕,但这并没有发生。它必须与范围有关,但我似乎无法弄清楚出了什么问题。这是代码。任何指导都会有所帮助

const Container = () => {
  const [cards, setCards] = useState([
    "studentCard",
    "anywhereCard",
    "liquidCard",
  ]);
  

  const handleSubmitData = (userInput) => {
    const { employmentStatus } = userInput.state;
    const { earnings } = userInput.state;

    if (employmentStatus === "student" && earnings < 16000) {
      return cards.filter((card) => card !== "liquidCard");
    }
    if (employmentStatus === "student" && earnings >= 16000) {
      return cards;
    }
    return cards;
  };

  return (
    <div className="Container">
      <UserInputForm submitData={handleSubmitData} />
        {cards} 
    </div>
  );
};

export default Container;
我已经把cards在我的 render return 内组件的一部分,但没有任何 react ,没有过滤卡片..

最佳答案

将过滤的卡片设置为 cards状态在 handleSubimitData .

const Container = () => {
  const allCards = ['studentCard', 'anywhereCard', 'liquidCard'];
  const [cards, setCards] = useState([]);

  const handleSubmitData = userInput => {
    const { employmentStatus } = userInput.state;
    const { earnings } = userInput.state;

    let filtered = [...allCards];

    if (employmentStatus === 'student' && earnings < 16000) {
      filtered = allCards.filter(card => card !== 'liquidCard');
    }

    setCards(filtered);
  };

  return (
    <div className="Container">
      <UserInputForm submitData={handleSubmitData} />
      {cards}
    </div>
  );
};

export default Container;

关于javascript - 根据用户输入 javascript 返回过滤后的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65276170/

相关文章:

javascript - Reactjs - Material UI - 减少表单框架 - 分组复选框需要验证错误修复以至少需要一个复选框

javascript - 如何让 javascript 加载速度更快?

javascript - 在solidity文件中查找结构

javascript - onclick 随机选择模式对话框

javascript - 以后端期望的特定格式重构 JS 数组

javascript - React 向父组件发送数据

javascript - 对象作为 React 子对象无效(发现 : [object Promise]) next js 13

javascript - 如何在重定向后使用 Javascript 获取 URL 路径?

arrays - perl:数组操作的优先级

java - 需要帮助按字母顺序对文本文件进行排序