为了账号安全,请及时绑定邮箱和手机立即绑定

如何在反应中将类组件作为功能道具传递?

如何在反应中将类组件作为功能道具传递?

30秒到达战场 2022-06-09 10:37:35
尝试使用 lambda 函数和 TSLint 将组件作为道具发送会引发异常。组件可以像这样作为 prop 发送:<Test  id={'XYZ-1809'}  condn1={<Condn1Component />}  condn2={<Condn2Component />}/>但是当尝试将其作为功能性道具发送时,会引发错误:Lambdas are forbidden in JSX attributes due to their rendering performance impact (jsx-no-lambda)tslint(1)<Test  id={'XYZ-1809'}  condn1={() => <Condn1Component />}  condn2={() => <Condn2Component />}/>Condn1Component并且Condn2Component可以是不确定的功能或类组件。摆脱 JSX-Lambda 问题的最佳方法是什么?
查看完整描述

1 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

我设法做到了如下:


const Condn1Component = () => {

   return (<h1>I am condition1</h1>);


const Condn2Component = () => {

   return (<h1>I am condition2</h1>);


const condn1ComponentHandler = () => {

  return <Condn1Component />

}


const condn2ComponentHandler = () => {

  return <Condn2Component />

}


<Test

  id={'XYZ-1809'}

  condn1={condn1ComponentHandler}

  condn2={condn2ComponentHandler}

/>

并接受为:


this.props.condn1();

this.props.condn2();


查看完整回答
反对 回复 2022-06-09
  • 1 回答
  • 0 关注
  • 100 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号