Reactjs 只有当我们点击按钮两次,而不是使用Recat钩子点击按钮一次时,状态才会更新 我只需要在单击按钮时显示最高值。 但在这里,只有当我们点击 按钮两次,而不是一次 我们可以使用ES6功能,如过滤器方法来实现这一点吗?在这里,我使用了一个for循环: const[dataObject,setdataObject]=useState([{}]); 常量[filterData,setfilterData]=useState({}); const showmolumns=()=>{ ////console.log(数据对象); 设x=0; 让name=''; for(设i=0;ix){ x=数据对象[i]。货币; 名称=数据对象[i]。名称; } } setfilterData(名称); for(设i=0;i{ //使用过滤器 setDataObject(dataObject.filter((item)=>item.name==filterData)); },[filterData]); const showmolumns=()=>{ ////console.log(数据对象); 设x=0; 让name=''; for(设i=0;ix){ x=数据对象[i]。货币; 名称=数据对象[i]。名称; } } setfilterData(名称); } }; 展示百万富翁 嘿,我想你忘了将带有按钮代码的零件添加到示例中。添加,你能检查一下吗,为什么我们需要双击按钮来更新状态你能看一下这个问题吗,这是链接,请帮助我,告诉我我做错了什么。。。 const [dataObject, setdataObject] = useState([{}]); const [filterData, setfilterData] = useState({}); useEffect(() => { // using filter setDataObject(dataObject.filter((item) => item.name === filterData)); }, [filterData]); const showMillions = () => { // //console.log(dataObject); let x = 0; let name = ''; for (let i = 0; i < dataObject.length; i++) { // console.log(dataObject); if (dataObject[i].money > x) { x = dataObject[i].money; name = dataObject[i].name; } } setfilterData(name); } }; <div><button className="btn btn-dark" onClick={showMillions} >Show Millionaires</button></div>

Reactjs 只有当我们点击按钮两次,而不是使用Recat钩子点击按钮一次时,状态才会更新 我只需要在单击按钮时显示最高值。 但在这里,只有当我们点击 按钮两次,而不是一次 我们可以使用ES6功能,如过滤器方法来实现这一点吗?在这里,我使用了一个for循环: const[dataObject,setdataObject]=useState([{}]); 常量[filterData,setfilterData]=useState({}); const showmolumns=()=>{ ////console.log(数据对象); 设x=0; 让name=''; for(设i=0;ix){ x=数据对象[i]。货币; 名称=数据对象[i]。名称; } } setfilterData(名称); for(设i=0;i{ //使用过滤器 setDataObject(dataObject.filter((item)=>item.name==filterData)); },[filterData]); const showmolumns=()=>{ ////console.log(数据对象); 设x=0; 让name=''; for(设i=0;ix){ x=数据对象[i]。货币; 名称=数据对象[i]。名称; } } setfilterData(名称); } }; 展示百万富翁 嘿,我想你忘了将带有按钮代码的零件添加到示例中。添加,你能检查一下吗,为什么我们需要双击按钮来更新状态你能看一下这个问题吗,这是链接,请帮助我,告诉我我做错了什么。。。 const [dataObject, setdataObject] = useState([{}]); const [filterData, setfilterData] = useState({}); useEffect(() => { // using filter setDataObject(dataObject.filter((item) => item.name === filterData)); }, [filterData]); const showMillions = () => { // //console.log(dataObject); let x = 0; let name = ''; for (let i = 0; i < dataObject.length; i++) { // console.log(dataObject); if (dataObject[i].money > x) { x = dataObject[i].money; name = dataObject[i].name; } } setfilterData(name); } }; <div><button className="btn btn-dark" onClick={showMillions} >Show Millionaires</button></div>,reactjs,react-hooks,Reactjs,React Hooks,您必须单击按钮两次,因为setfilterData(名称)是异步的。您可以在最后一个for循环中使用useffect或使用name而不是filterData const [dataObject, setdataObject] = useState([{}]); const [filterData, setfilterData] = useState({}); useEffect(() => { // using filter setDataObject(dataObjec

您必须单击按钮两次,因为
setfilterData(名称)
是异步的。您可以在最后一个for循环中使用useffect或使用
name
而不是
filterData

const [dataObject, setdataObject] = useState([{}]);
const [filterData, setfilterData] = useState({});

useEffect(() => {
    // using filter
    setDataObject(dataObject.filter((item) => item.name === filterData));
}, [filterData]);

const showMillions = () => {
    // //console.log(dataObject);
    let x = 0;
    let name = '';

    for (let i = 0; i < dataObject.length; i++) {
        // console.log(dataObject);
        if (dataObject[i].money > x) {
             x = dataObject[i].money;
             name = dataObject[i].name;
        }
    }
    setfilterData(name);
  }
};
<div><button className="btn btn-dark" onClick={showMillions} >Show Millionaires</button></div>
const[dataObject,setdataObject]=useState([{}]);
常量[filterData,setfilterData]=useState({});
useffect(()=>{
//使用过滤器
setDataObject(dataObject.filter((item)=>item.name==filterData));
},[filterData]);
const showmolumns=()=>{
////console.log(数据对象);
设x=0;
让name='';
for(设i=0;ix){
x=数据对象[i]。货币;
名称=数据对象[i]。名称;
}
}
setfilterData(名称);
}
};
展示百万富翁

嘿,我想你忘了将带有按钮代码的零件添加到示例中。添加,你能检查一下吗,为什么我们需要双击按钮来更新状态你能看一下这个问题吗,这是链接,请帮助我,告诉我我做错了什么。。。
const [dataObject, setdataObject] = useState([{}]);
const [filterData, setfilterData] = useState({});

useEffect(() => {
    // using filter
    setDataObject(dataObject.filter((item) => item.name === filterData));
}, [filterData]);

const showMillions = () => {
    // //console.log(dataObject);
    let x = 0;
    let name = '';

    for (let i = 0; i < dataObject.length; i++) {
        // console.log(dataObject);
        if (dataObject[i].money > x) {
             x = dataObject[i].money;
             name = dataObject[i].name;
        }
    }
    setfilterData(name);
  }
};
<div><button className="btn btn-dark" onClick={showMillions} >Show Millionaires</button></div>