React

时间:2017-03-16 14:28:34

标签: javascript reactjs

我试图根据现有数组设置textarea的值,但我希望数组项在textarea上用新行分隔。我希望textarea将这些项目放在无序列表中,以便我可以创建一个按钮,将textarea的内容复制到剪贴板中。

我收到此错误:期待Unicode转义序列\ uXXXX我认为是因为\ n。我真的不知道还能做什么。在此先感谢您的帮助。



class NamesList extends Component{
	constructor(props){
		super(props);

	}

	render(){
		const RenderedNames = this.props.formattedNames.map((name, index) => {
			return <li key={index} >{name}</li>
		});

		const formattedNamesBreak = this.props.formattedNames.map((name, index) => {
			return name \n
		});

		return(
			<div>
			<ul className='media-list list-group'>
				{RenderedNames}
			</ul>
			<textarea className='hidden' readOnly='true' value={formattedNamesBreak}></textarea>
			</div>
		);
	}
	
};


export default NamesList;
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

由于您的数组是一个字符串数组(名称),因此您不需要map()因为这将创建一个结果数组,如果您尝试输出一个数组作为textarea值,它将被转换为带逗号的字符串以分隔值。

解决方法是在阵列上调用Array.prototype.join()并使用新行作为&#34;胶水&#34;:

var formattedNamesBreak = this.props.formattedNames.join('\n');