简体   繁体   English

根据用户输入 id 反应从 JSON 按名称获取项目

[英]Get items by name from JSON based on user input id react

Hey how would I go about getting items by name from a JSON file based on what a user inputs?嘿,我将如何根据用户输入的内容从 JSON 文件中按名称获取项目? I have a JSON file that has an id and name.我有一个带有 ID 和名称的 JSON 文件。 I want the user to put in a number and then display the item name associated with that id number.我希望用户输入一个数字,然后显示与该 ID 号关联的项目名称。 I am using ReactJS for this.我为此使用 ReactJS。 Any advice would be greatly appreciated.任何建议将不胜感激。 thank you谢谢你

You can read JSON file as Javascript Object or Array.您可以将 JSON 文件读取为 Javascript 对象或数组。 I use react hooks.我使用反应钩子。 Sorry my English very bad.对不起,我的英语很糟糕。

import { useState } from 'react';
import jsonData from './data.json';

export default function Test() {
    const [name, setName] = useState('');

    const onChange = (e) => {
        // jsonData is javascript array when import it
        const data = jsonData.find((d) => d.id == e.target.value);

        if (data) {
            setName(data.name);
        }
    };

    return (
        <div>
            <input onChange={onChange} />
            <p>Name: {name}</p>
        </div>
    );
}

JSON file for test:用于测试的 JSON 文件:

[
    {
        "id": 1,
        "name": "abc"
    },
    {
        "id": 2,
        "name": "def"
    },
    {
        "id": 3,
        "name": "ghi"
    }
]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM