React学习笔记14-dangerousSetinnerHtml指令

1.使用场景

dangerouslySetInnerHTML指令能将字符串当做html解析
相当于vue中的v-html指令
一般我们用来渲染富文本返回的html文本

2.使用方法

 {this.state.tolist.map((item,index)=>{
            return (
                <span dangerouslySetInnerHTML={{__html:item}} key={index}>
                </span>
            )
        })}

将这个指令绑定的一个html标签上即可

_html:要解析的htm代码
 
下面是将前面的tolist案例和dangerouslySetInnerHTML相结合
 

输入

<div style="color:red">红色</div>

 字符串被解析为了html代码

3.完整代码

复制代码
import React, { Component } from 'react'
import './css/01-index.css'
export default class App extends Component {
    state = {
        tolist:[],
        inputValue:''
    }
  render() {
    return (
      <div>
        <input value={this.state.inputValue} onChange={
            this.changeHanlder
        } type="text" />
        <button onClick={
           this.addHanler
        }>add</button>
        {this.state.tolist.map((item,index)=>{
            return (
                <span dangerouslySetInnerHTML={{__html:item}} key={index}>
                </span>
            )
        })}
           <div className={this.state.tolist.length>0 ? 'hidden' : ""}>暂无代办事项</div>
      </div>
    )
  }
   changeHanlder = (e)=>{
        this.setState({
            inputValue:e.target.value
        })
  }
   addHanler = ()=>{
        if(this.state.inputValue !==''){
    const newlist = [...this.state.tolist]
    newlist.push(this.state.inputValue)
    this.setState({
        tolist:newlist,
        inputValue:''
    })
}
  }
}
复制代码

 

 

 

posted @   SadicZhou  阅读(373)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示