javascript - 返回排序后的数组 React
问题描述
如何从方法返回排序后的数组。这是我需要将排序后的数组显示为列表的代码。当我从 sortList() 返回数字时它不起作用。为什么?返回数字不返回 JSX 中的数组。不是使用return语句的正确地方。
function RenderList(props){
let numbers=props.number;
function sortList(){
numbers.sort();
return numbers
}
const numList=numbers.map((num)=>(
<li>{num}</li>
))
return(
<div>
<h2>Rendering List</h2>
<button onClick={sortList}>SortList</button>
<ul>{numList}</ul>
</div>
)
}
解决方案
您需要将 numbers 数组存储在一个 state 中,然后更新 state 以重新渲染。
function RenderList(props){
const [numbers, setNumbers] = useState(props.numbers);
function sortList(){
setNumbers(numbers.slice().sort());
}
const numList=numbers.map((num)=>(
<li>{num}</li>
))
return(
<div>
<h2>Rendering List</h2>
<button onClick={sortList}>SortList</button>
<ul>{numList}</ul>
</div>
)
}
推荐阅读
- javascript - Promises:reject 的一些问题
- node.js - Node Js / Typescript - AMQP 消费者
- java - WSO2 iOT iOS Agent 无法登录
- python - 将传入的 Web 套接字连接到 Kafka 的最佳实践是什么?
- ruby-on-rails - ActiveRecord 查询是否在使用 rspec 时搜索数据库?
- google-cloud-vision - 在 Google Cloud Vision 中将归一化顶点转换为顶点
- java - Springboot批量读取/验证多个不同格式的csv文件
- angular - 创建 Angular 项目时出错
- javascript - 使用 Google Assistant 从 Firebase 返回数据数组
- php - 在同一个类文件中的钩子之间传递变量