按照下面要求写代码,现在5,6,7,8点的问题,不知道怎么解决了
1.子组件内部存在状态a,a由父组件进行赋值
2.在父组件对a进行更新
3.子组件内部a也要发生变化
4.通过fetch请求
5.请求后的数据赋给变量,通过数组方法进行遍历(在子组件内)
6.形成展示name字段的列表
7.点击子组件的按钮,将name字段改为username
8.父组件新增一个筛选按钮,点击筛选按钮后,将name或username字段进行随机排序
import React, { useState} from 'react'
// document.getElementById('button1').addEventListener('click',Fa);
function Fa() {
const search = () => {
fetch("https://jsonplaceholder.typicode.com/users")
.then((res) => res.json())
.then(data => {
console.log(data);
let output = 'name';
//forEach数组遍历
data.forEach((user) => {
output += `<li>${user.name}</li>`;
return (Math.random()-0.5);
});
//请求后数据赋给变量
document.getElementById('output').innerHTML = output;
})
//使用 catch() 去捕获错误
.catch(err => console.log(err));
}
const [count, setCount] = useState(0)
return (<div >
<p>父组件中的count :{count}</p>
<button
onClick={() => {
setCount(count + 1)
}}
>
点击+1
</button>
<Son value={count} />
<button onClick={() => {search()}}>获取name</button><hr/>
<div id="output"> </div>
<button>筛选按钮</button><hr/>
</div>)
}
function Son(props) {
//setCount,子组件没有状态,数组里return方法
const setCount=()=>{
let arr = [1,7,2,5,9,4,3];
arr.sort((a,b)=>{
return (Math.random()-0.5);
});
document.write(arr);
}
return (
<div>
<p>子组件中的count :{props.value}</p>
<button onClick={() => {setCount()}}>请求数据</button>
</div>
)
}
export { Fa, Son }
相似问题