空格显示不正常 这是因为浏览器显示机制,会将连续多个空格显示成1个空格。
在这些示例中,HTML和JSX中的空格是一样的
Hello?World
?Hello?World
??Hello?World
???Hello?World???
Hello???World
虽然JSX在在HTML中渲染多个空格,但是浏览器仍然会压缩空格序列。(假定CSS的white-space属性是默认值:normal)。
??Hello?World???
// 开头和结尾处的空格被移除
Hello?World
有两种解决方案:
- 使用
 
空格转义字符来添加空格; - css样式设置为
white-space:pre;
有两种解决方案:
- 检测换行符并手动添加
data.split('\n').map((item, id) => {
return (
={id}>
{item}
)
})
- CSS样式设置为
white-space: pre-line;
(但是之前的空格可能无法显示了)
white-space: pre-wrap;
white-space解释
white-space的值:
- normal
- nowrap
- pre
元素时才会换行。- pre-wrap
元素,或者需要为了填充line盒子时才会换行。- pre-line
元素,或者需要为了填充line盒子时会换行。white-space各个值的表现如下:
文章图片
【React实战 | JSX的空格与换行不显示问题的解决方案】参考资料:
white-space MDN文档
推荐阅读
- 前端|面试官(谈谈Vue和React的区别())
- react|高德地图的使用及自定义图标
- React|【React Native开发】React Native控件之RefreshControl组件详解(21)
- React|React Native开源项目-嘎嘎商城客户端(持续更新中)
- 工作与生活|2016总结,真正新的里程碑和新起点
- React|【React Native开发】React Native应用设备运行(Running)以及调试(Debugging)(3)
- React|【React Native开发】React Native控件之ListView组件讲解以及最齐全实例(19)
- React|React Native控件之PullToRefreshViewAndroid下拉刷新组件讲解(20)
- React|【React Native开发】React Native控件之Text组件讲解(9)
- react学习之旅|react+antd-mobile之项目构建+基础配置