我在對一個陣列進行排序,然后對其進行映射時遇到了麻煩(作為待辦事項串列的一部分,我試圖在將其映射到一個新的陣列之前對全域狀態下的任務進行排序)。
我的沙盒在這里。 https://codesandbox.io/s/to-do-list-lloydr-416wm?file=/src/App.js
我試圖進行排序的地方在這里(我將任務的全域狀態作為一個道具,然后進行排序并將其映射到一個新的陣列中 - 但只有映射起作用,而不是排序):
const Tasks=({ tasks, onDelete, onToggle })=> {
return (
<>
{tasks
.sort((a, b) =>
new Date(a.selectedDate).getTime() >
new Date(b.selectedDate).getTime()
? 1
: -1
)
.map((task) => (
<Task
key={task.id}。
task={task}
onDelete={onDelete}。
onToggle={onToggle}。
/>
))}
</>)
);
};
export default Tasks;
初始的任務陣列在這里:
const [tasks, setTasks] = useState( [
{
id: 1,
text: "醫生的預約"。
selectedDate: "05/12/2021",
// CHANGED DATE TO SELECTEDDATE.
priority: true。
},
{
id: 2,
text: "和Lauren一起吃生日晚餐"。
selectedDate: "27/09/2021",
priority: true: priority.
},
{
id: 3,
text: "帶Nugie去看獸醫,因為她很笨"。
selectedDate: "28/09/2021",
priority: true, priority.
}
]);
希望得到任何幫助,謝謝!
uj5u.com熱心網友回復:
它所期望的日期格式是MM/dd/yyyy而不是dd/MM/yyyy。
切換你的月和日,或者用new Date(2021, 29, 27)將它初始化為一個日期而不是一個字串(例如)。
編輯:我建議你用數字而不是字串來初始化日期。這樣你就可以避免考慮你的字串日期應該用哪種語言來介紹
編輯:我建議你用數字而不是字串來初始化日期。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/310872.html
標籤:
