React将JS中的标签转化为HTML语言

  1. 在JS中混杂字符和HTML标签,识别方法
1
2
const menuList = ['门店', '星享俱乐部', '菜单', '<hr></hr>', '星巴克移动应用', '星礼卡', '星巴克臻选<sup>TM</sup>', '咖啡星讲堂', '上海烘培工坊', '关于星巴克', '帮助中心', '<hr></hr>'];
const listItems = menuList.map((item,index) =><li key={index} dangerouslySetInnerHTML={{ __html: item }}></li>);// dangerouslySetInnerHTML:将JS中的标签转化为HTML语言

使用了dangerouslySetInnerHTML的标签内不能再包含内容

效果:

reactContact

  1. 需要往标签里同时添加静态类和动态类
1
2
let menuhide = this.state.menuSwitch ? '' : 'hide';
<a className={['moremenu', menuhide].join(' ')}>菜单</a>{/* react拼接class的方法 */}

在数组中的menuhide是个变量,用join()方法将两个数组元素拼接起来,以空格‘ ’作为分隔符