Как указано в заголовке, Только последняя форма возвращаемого значения массива. Другая форма возвращена пустой. Нужна помощь понимание того, как:Динамическое присвоение ref текстовому полю, но оно возвращает последнее значение поля.
addComment(event) {
event.preventDefault();
const commentContent = this.refs.commentContent.value;
console.log(commentContent);
this.refs.commentContent.value = '';
}
renderArticleList() {
return (
this.props.articles.map((article) => {
const articleId = article._id;
return (
<div key={articleId}>
<form onSubmit={this.addComment.bind(this)}>
<textarea ref="commentContent"/>
<button type="submit">Add Comment</button>
</form>
</div>
)
})
)
}
кода Решения для решения проблемы с благодарностью. Ссылки, чтобы помочь понять и решить проблему также замечательно.
Можете уточнить, что вы пытаетесь сделать? Вы пытаетесь заполнить текстовую область контентом из своих реквизитов? – Sean
Ваша проблема здесь будет связана с использованием одного и того же ref для каждой формы, как функция узнает, о ком вы говорите. Я бы посоветовал прочитать эту страницу https://facebook.github.io/react/docs/forms.html для руководства по использованию форм в ваших компонентах. Возможно, вам лучше использовать состояние, то есть иметь значение состояния, которое устанавливается из любой из форм, а затем функция onSubmit просматривает это значение состояния. – Blakey
'ref' привязан к компоненту, поэтому, пока вы используете то же имя' ref', вы получите одну ссылку. В вашем случае ваши ссылки переопределяют друг друга, и вы остаетесь только последним. –