children dangerouslySetInnerHTML

children

  • 组件标签对之间的内容会被当做一个特殊的属性 props.children 传入组件内容

  • 可以自定义结构的组件的常用形式

    • children
    • 传递函数
    • 传递子组件

    代码演示

import React, { PureComponent, } from 'react';

class Popwindows extends PureComponent {
    state = {
        close: false //不关
    }
    render() {
        let { close } = this.state;
        let { children } = this.props;
        return ( < div style = {
                {
                    display: close ? "none" : "block"
                }
            } > { children } <
            button onClick = {
                () => {
                    this.setState({
                        close: true
                    })
                }
            } > 关闭 < /button> < /
            div > )
    }
}

class App extends PureComponent {

    state = {
        show: false, //显示内容 点击关闭  false的话浏览器是空白
        man: false
    }

    render() {
        let { show, man } = this.state;
        return ( <
            div > {
                show ? ( < Popwindows >
                    <
                    h1 > 希望你快乐 < /h1> <
                    p > 冬天最好 < /p> < /
                    Popwindows > ) : ""
            }

            {
                man ? ( < Popwindows >
                    <
                    h1 > 春天快乐快乐 < /h1> <
                    p > 冬天最好 < /p> < /
                    Popwindows > ) : ""
            }

            <
            button onClick = {
                () => {
                    this.setState({ show: true })
                }
            } > 显示弹框 < /button>  <
            button onClick = {
                () => {
                    this.setState({ man: true })
                }
            } > 夏天 < /button> <
            /
            div >

        )
    }
}

export default App;

dangerouslySetInnerHTML

  • 直接设置标签的 innerHTML(这个是作为后端应用)
import React, { PureComponent, } from 'react';

// class Popwindows extends PureComponent {

// }
let massage = `<
h1 > 希望你快乐 < /h1> <
p > 冬天最好 < /p>`;

class App extends PureComponent {

    render() {
        return ( <
            div dangerouslySetInnerHTML = {
                {
                    __html: massage
                }
            } >

            <
            /div>
        )
    }

}

export default App;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值