【发布时间】:2019-12-07 07:30:36
【问题描述】:
说明
创建一个允许用户使用的 Web 界面:
根据特定条件过滤玩家列表。这些是您将根据测试数据创建的搜索过滤器:
年龄:允许用户过滤特定年龄或年龄范围内的玩家(例如 7、5-9、15-17 等)
性别:允许用户根据指定的性别过滤玩家
状态:允许用户根据他们所在的状态从可用的测试数据中过滤玩家
状态:允许用户根据玩家的状态(活跃/不活跃)过滤玩家
您可以应用多个过滤器来缩小搜索结果的范围。
编辑任何玩家的信息。
代码
我正在尝试使用 React Hooks,只是想弄清楚我在做什么。
1) 我想知道每个变量的初始状态是否有意义。另外,在 useEffect 方法上,只需要运行一次就可以使用 axios 获取数据,这就是所有需要的正确方法吗?
2) 只需要 4 个单独的函数来处理每个条件。我是否只需要通过对象数组map 和filter 想要的结果?
import React, { useEffect, useState } from 'react';
import axios from 'axios';
const App = () => {
const url = "https://dii-test.s3.amazonaws.com/players.json";
const [age, setAge] = useState([]);
const [gender, setGender] = useState([]);
const [state, setState] = useState('');
const [status, setStatus] = useState(false);
useEffect(() => {
axios.get(url).then(json => setAge(json.data))
}, []);
const renderTable = () => {
return age.map(user => {
return (
<tr>
<td>{user.age}</td>
</tr>
)
})
}
return (
<div className="App">
<tbody>{renderTable()}</tbody>
</div>
);
}
export default App;
【问题讨论】:
标签: json reactjs filter react-hooks