Hier ist ein Beispiel aus dem Jahr 2020, Reactjs Hook, von dem ich dachte, dass es anderen helfen könnte. Ich verwende es, um einer Reactjs-Tabelle neue Zeilen hinzuzufügen. Lassen Sie mich wissen, ob ich etwas verbessern könnte.
Hinzufügen eines neuen Elements zu einer Funktionszustandskomponente:
Definieren Sie die Statusdaten:
const [data, setData] = useState([
{ id: 1, name: 'John', age: 16 },
{ id: 2, name: 'Jane', age: 22 },
{ id: 3, name: 'Josh', age: 21 }
]);
Lassen Sie eine Schaltfläche eine Funktion auslösen, um ein neues Element hinzuzufügen
<Button
// pass the current state data to the handleAdd function so we can append to it.
onClick={() => handleAdd(data)}>
Add a row
</Button>
function handleAdd(currentData) {
// return last data array element
let lastDataObject = currentTableData[currentTableData.length - 1]
// assign last elements ID to a variable.
let lastID = Object.values(lastDataObject)[0]
// build a new element with a new ID based off the last element in the array
let newDataElement = {
id: lastID + 1,
name: 'Jill',
age: 55,
}
// build a new state object
const newStateData = [...currentData, newDataElement ]
// update the state
setData(newStateData);
// print newly updated state
for (const element of newStateData) {
console.log('New Data: ' + Object.values(element).join(', '))
}
}