Я просто пытаюсь сопоставить данные с defaultValue из textarea, все работает нормально, но когда я пытаюсь сделать разрыв строки с помощью \r, он работает, как предполагалось, но
Почему перед каждой строкой ставится запятая?
<textarea defaultValue = { this.state.data.map(data => data.name+'\r') } />



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы неявно конвертируете массив в строку.
Это вызывает метод toString массива, который (внутренне) вызывает this.join(",").
var my_array = [];
my_array.push("This");
my_array.push("is");
my_array.push("an");
my_array.push("array");
document.write(my_array);Если вам не нужны запятые, вызовите join() самостоятельно, чтобы явно преобразовать его в строку.
NB: новые строки в JS обычно выражаются как фактические новые строки (\n), а не как символы возврата каретки (\r).
Спасибо за ответ, если бы я использовал join вместо карты, данные не отображаются :( prnt.sc/ji6aju
@Lauradelgado - Я пропустил, что вы извлекали свойство name. Вам все еще нужна карта. Вам просто нужно явно вызвать join.
Поскольку вы переносите массив в строковый контекст ... developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…