【发布时间】:2021-07-16 10:59:48
【问题描述】:
当我按下 <button onClick={addComment} className='add-btn'>+</button> Missing "key" prop for element in iterator react/jsx-key 时,我正在尝试清除输入
import React, { useContext, useState } from 'react';
import ContentHeader from './PatientHeader';
import { PatientContext } from '../App';
const moment = require('moment');
const ContentInfo = () => {
const { selectedPatient, comments, setComments } = useContext(PatientContext);
const [comment, setComment] = useState('');
const commentInput = React.createRef();
const addComment = (e: any) => {
const date = moment();
setComments([...comments, { comment: commentInput.current.value, date: date }]);
e.preventDefault();
setComment('');
};
const handleChange = (e: any) => setComment(e.target.value);
return (
<div className='content'>
<ContentHeader />
<div className='info'>
<div className='comments'>
<div>
<p>
<h3 className='comments-text'>Comments:</h3>
</p>
<ul>
{comments.map(c =>
<li>
<div className='new-comment'>
<div>
<strong>{moment(c.date).format('ll')}</strong>
</div>
<div>
{c.comment}
</div>
</div>
</li>
)}
</ul>
</div>
<div className='create-commentInput'>
<input value={comment} ref={commentInput} onChange={handleChange}
className='form-control' type="text"/>
<button onClick={addComment} className='add-btn'>+</button>
</div>
</div>
</div>
</div>
);
}
以下行抛出错误,我不知道为什么:
(e:任何)
const addComment = (e: any) => {
const date = moment();
setComments([...comments, { comment: commentInput.current.value, date: date }]);
e.preventDefault();
setComment('');
};
如何防止出现此错误?
【问题讨论】:
标签: javascript html css reactjs jsx