• <small id='r0IfK'></small><noframes id='r0IfK'>

    <tfoot id='r0IfK'></tfoot>
        <i id='r0IfK'><tr id='r0IfK'><dt id='r0IfK'><q id='r0IfK'><span id='r0IfK'><b id='r0IfK'><form id='r0IfK'><ins id='r0IfK'></ins><ul id='r0IfK'></ul><sub id='r0IfK'></sub></form><legend id='r0IfK'></legend><bdo id='r0IfK'><pre id='r0IfK'><center id='r0IfK'></center></pre></bdo></b><th id='r0IfK'></th></span></q></dt></tr></i><div id='r0IfK'><tfoot id='r0IfK'></tfoot><dl id='r0IfK'><fieldset id='r0IfK'></fieldset></dl></div>
      1. <legend id='r0IfK'><style id='r0IfK'><dir id='r0IfK'><q id='r0IfK'></q></dir></style></legend>

          <bdo id='r0IfK'></bdo><ul id='r0IfK'></ul>

        使用 console.log 记录反应本机事件未触发并最终使应用程序崩溃

        logging react native event with console.log not firing and eventually crashes the app(使用 console.log 记录反应本机事件未触发并最终使应用程序崩溃)

        <tfoot id='E15Eu'></tfoot>
          <tbody id='E15Eu'></tbody>
          <legend id='E15Eu'><style id='E15Eu'><dir id='E15Eu'><q id='E15Eu'></q></dir></style></legend>
            <bdo id='E15Eu'></bdo><ul id='E15Eu'></ul>

              <small id='E15Eu'></small><noframes id='E15Eu'>

                1. <i id='E15Eu'><tr id='E15Eu'><dt id='E15Eu'><q id='E15Eu'><span id='E15Eu'><b id='E15Eu'><form id='E15Eu'><ins id='E15Eu'></ins><ul id='E15Eu'></ul><sub id='E15Eu'></sub></form><legend id='E15Eu'></legend><bdo id='E15Eu'><pre id='E15Eu'><center id='E15Eu'></center></pre></bdo></b><th id='E15Eu'></th></span></q></dt></tr></i><div id='E15Eu'><tfoot id='E15Eu'></tfoot><dl id='E15Eu'><fieldset id='E15Eu'></fieldset></dl></div>
                2. 本文介绍了使用 console.log 记录反应本机事件未触发并最终使应用程序崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  在 react-native 中向 ScrollView 添加事件时,我注意到事件处理程序没有触发,应用程序最终会在几秒钟后静默崩溃.

                  When adding an event to a ScrollView in react-native, I noticed the event handler was not firing, and the app will eventually and silently crash after a few seconds.

                  这就是我的处理程序的样子,我所做的只是一个简单的 console.log 事件:

                  This is what my handler looked like, all I was doing was a simple console.log on the event:

                  // Does not work:
                  <FlatList
                    ...
                    onScrollEndDrag={e => {
                      console.log(e);
                    }}
                    ...
                  />
                  

                  我注意到如果我不传递参数,事件处理程序就起作用了:

                  I noticed that if I didn't pass the parameter, the event handler worked:

                  // Works:
                  <FlatList
                    ...
                    onScrollEndDrag={e => {
                      console.log('event');
                    }}
                    ...
                  />
                  

                  但我无法访问我的活动数据.

                  But I can't access my event data.

                  为什么当我尝试在此处使用 console.log 访问事件时,事件处理程序会失败?

                  Why is the event handler failing when I try to access the event with console.log here?

                  推荐答案

                  我找到了一个解释github:

                  问题可能是事件对象具有循环或不可序列化的字段.尝试记录 event.nativeEvent(它是 ViewLayout 对象).

                  The problem may be that the event object has fields that are cyclic or otherwise unserializable. Try logging event.nativeEvent (which is the ViewLayout object) instead.

                  这是由于 expo (XDE) 如何实现 console.logging 通过使用 pretty-format 序列化数据.

                  This is due to how expo (XDE) implements console.logging to send data from a device to the computer, by using pretty-format to serialize the data.

                  这确实是第 31 版 expo 中的一个错误.这已在 master 中修复,但我会在此处留下这个答案,以防它帮助任何人.

                  This is indeed a bug within expo as of version 31. This has been fixed in master, but I will leave this answer here in case it helps anyone.

                  解决方案是在 console.log 行中使用 e.nativeEvent 而不是 e,因为nativeEvent 没有循环引用.

                  The solution is to use e.nativeEvent rather than e in the console.log line, since the nativeEvent has no circular references.

                  这篇关于使用 console.log 记录反应本机事件未触发并最终使应用程序崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Gradient Button to background-color blinks on hover(悬停时背景颜色的渐变按钮闪烁)
                  How to make hovering over active button not use hover effect?(如何使悬停在活动按钮上不使用悬停效果?)
                  html javascript show image hover(html javascript 显示图像悬停)
                  How to get css hover values on click?(如何在点击时获得 css 悬停值?)
                  Change background image on link hover(更改链接悬停时的背景图像)
                  Highlight multiple items on hover#39;s condition(突出显示悬停条件下的多个项目)

                      <legend id='bppVM'><style id='bppVM'><dir id='bppVM'><q id='bppVM'></q></dir></style></legend>
                      • <i id='bppVM'><tr id='bppVM'><dt id='bppVM'><q id='bppVM'><span id='bppVM'><b id='bppVM'><form id='bppVM'><ins id='bppVM'></ins><ul id='bppVM'></ul><sub id='bppVM'></sub></form><legend id='bppVM'></legend><bdo id='bppVM'><pre id='bppVM'><center id='bppVM'></center></pre></bdo></b><th id='bppVM'></th></span></q></dt></tr></i><div id='bppVM'><tfoot id='bppVM'></tfoot><dl id='bppVM'><fieldset id='bppVM'></fieldset></dl></div>

                          <bdo id='bppVM'></bdo><ul id='bppVM'></ul>

                          <small id='bppVM'></small><noframes id='bppVM'>

                          <tfoot id='bppVM'></tfoot>
                            <tbody id='bppVM'></tbody>