В одном из компонентов я использую метод .map(), чтобы отобразить статьи в приложении:
const articlesList = props.articles.map(article => {
return <Article article={article} key={article.id} />
});
Также в приложении есть форма, при помощи который можно добавить новую статью:
export default props => {
const [articleTitle, setArticleTitle] = useState('');
const [articleText, setArticleText] = useState('');
const handleInput = event => {
if (event.target.name === 'article-title') {
setArticleTitle(event.target.value);
} else {
setArticleText(event.target.value);
}
};
const handleSubmit = event => {
event.preventDefault();
props.addArticle({ id: Date.now(), title: articleTitle, text: articleText });
setArticleTitle('');
setArticleText('');
}
return (
<div className="admin">
<form className="article__form" onSubmit={handleSubmit}>
<label htmlFor="article__title">Название статьи</label>
<input type="text" value={articleTitle} onChange={handleInput} id="article__title" name="article-title"
placeholder="Введите название статьи"/>
<label htmlFor="article__text">Текст статьи</label>
<textarea type="text" value={articleText} onChange={handleInput} id="article__text" name="article-text"
placeholder="Введите текст статьи"/>
<button type="Submit">Добавить</button>
</form>
</div>
);
}
В функции handleSubmit мне нужно создавать объект новой статьи, но я не знаю, как указать для неё id. Поэтому временно написал Date.now()
Каким образом можно указать id для этого элемента?
Например, если у последней статьи id 3, то чтобы у создаваемого нами элемента был id 4
Нужно как-то брать id последнего элемента и добавлять к нему 1?
Подскажите пожалуйста