props.children的使用


props.children可以获取组件实例的innerHTML。

举个例子

class App extends Component {
    render() {
        return <p>return: {this.props.children}</p>
    }
}
render(<App>我是一个app组件<div>我是一个div标签</div></App>, document.getElementById('root'));
<div id="root"><p>return: 我是一个app组件<div>我是一个div标签</div></p></div>

你还可以为其传入参数,以控制内部标签

class App extends Component {
    render() {
        return this.props.children(true, false)
    }
}
render(<App>{(flagA, flagB) => flagA && flagB ? <div>flag为true</div> : <div>flag为false</div>}</App>,
    document.getElementById('root'));
<div id="root"><div>flag为false</div></div>

props.children 是一个数组

class App extends Component {
    render() {
        console.info(this.props.children)
        return <Fragment></Fragment>
    }
}
render(<App><div>我是一个div标签</div>{() => <p>as</p>}
{(flagA, flagB) => flagA && flagB ? <div>flag为true</div> : <div>flag为false</div>}
</App>, document.getElementById('root'));
(3) [{…}, ƒ, ƒ]
0: {$$typeof: Symbol(react.element), type: "div", key: null, ref: null, props: {…}, …}
1: () => {…}
2: (flagA, flagB) => {…}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值