zoukankan      html  css  js  c++  java
  • react传递方法 警告

    报错现象如下

    产生原因如下

    分析

    在调用 React.cloneElement 的时候 如果第二个属性传入props, 需要看第一个参数传递的是 react组建还是 html标签

    如果是html标签就会导致上面的警告

    大意是方法会被忽略 因为这样相当于 往 div 等原声元素里 传入 onBd 自定义事件 是会被忽略等

    错误代码/场景分析

    我们在弹窗里传入

    123
    以及 两个回掉事件

     <PopOver titleDone="Done" visible={this.state.showFilterFlag}
              onShow={() => console.log('done actio1n')}
                        onDone={() => console.log('done action')}>
              {/* <FilterRecipient></FilterRecipient> */}
                  <div>123</div>
            </PopOver>
    
    

    弹窗组建 会把两个事件绑定在头部等两个按钮回掉里,同事吧 外部传进来的 children 作为内容,

    产生错误就是因为 { onBd: onShow, onD: onDone }这一句

    为什么要加这一句?

    因为考虑到 有一种情况 是需要外部传进来的组建可以调用 onShow 和onDone 这个方法。比如我想点击123 时候关闭弹窗,

    解决办法也很简单

    外部不要传入

    123
    这样的元素 而是传递 react组建进来

    比如 function demo() {return

    123
    } 因为只有组建才能接受props

    补充

    如果直接 写如下代码 是不报错的

    var  onShow = function() {
    
    }
    var  onDone = function() {
    
    }
    var a = React.cloneElement(
    <div>123</div>, {onShow, onDone}
    )
    
  • 相关阅读:
    百度打不开
    欢迎大家来到华网科技
    可扩展消息出席协议:核心 RFC 3920
    谈网站的黏度
    手机游戏沙龙7月11日谈话记录
    基于开源软件做个和GTalk聊天的小命令行程序
    WAP网站推广
    算法的魅力
    JSP技术在WAP开发中的应用
    在J2ME实现UTF8转换为Unicode编码的方法
  • 原文地址:https://www.cnblogs.com/WhiteHorseIsNotHorse/p/10595519.html
Copyright © 2011-2022 走看看