reactjs - 提交时如何获取json数据的输入值
问题描述
我有 json 数据文件。我想使用数据名称进行搜索,并在单击搜索按钮时显示输入的名称。
当我输入内容时,我在控制台中获得了输入值,但是我无法在屏幕上显示它如何显示这个输入的值?
我的代码在下面
PostResults.jsx
import React from "react";
const PostResults = (props) => {
const {name} = props.posts
return(
<div className="">
<p className="titles">{name}</p>
</div>
)
}
export default PostResults
Posts.jsx
import React, { useState, useEffect } from "react";
import PostResults from './PostResults'
const Posts = (props) => {
const [posts, setPosts] = useState([]);
const [searchTerm,setSearchTerm]=useState([]);
const getData = () => {
fetch('data.json')
.then(response => {
return response.json()
//console.log(response)
})
.then(data => {
setPosts(data)
console.log(data)
})
}
useEffect(() => {
getData()
},[])
const submitHandler = (event) => {
event.preventDefault()
{searchTerm ? searchTerm : console.log("none")}
}
return(
<div className="">
<input
type="text"
placeholder="Search Anything"
name="query"
onChange={e => setSearchTerm(e.target.value)}
className="search-input"
/>
<button
onClick={submitHandler}
type="submit"
className="search-button"
>
<i className="fas fa-search"></i>
</button>
{posts.map(posts => (
<PostResults key={posts.id} posts={posts}/>
))}
</div>
)
}
export default Posts
App.jsx
import React from "react";
import "./style.css";
import 'bootstrap/dist/css/bootstrap.min.css'
import Posts from './components/Posts'
export default function App() {
return (
<div className="container">
<div className="row">
< Posts />
</div>
</div>
);
}
解决方案
推荐阅读
- c++ - 在这种情况下,我真的是在复制字节还是在复制字符?
- docker - docker私有注册表是否有默认端口
- oracle - oracle单行变成变量
- python - 模型类默认关键字如何在 sqlalchemy 中工作
- sql - “插入选择”如何处理大量数据
- javascript - 如何确定是否点击了地图或标记
- facebook - 如何量化 Facebook 页面活动?(图形 API)
- php - 在注册表单中添加 WordPress(WooCommerce) 中的 OTP 验证
- excel - 查找 Excel 中存在值的列的最后一行索引
- angular - 如何替换ngFor中的null值