React Native App 中的 RecyclerListView 警告

RecyclerListView Warning in React Native App

我在 运行 我的 React Native 应用程序中收到此警告。谁能帮帮我?我在代码中找不到任何问题。但我仍然收到这个警告。该程序也运行良好。但是每次都会出现警告,我现在很想解决这个问题。

有谁知道为什么会出现此警告?

You have mounted RecyclerListView with an empty data provider (Size in 0). Please mount only if there is atleast one item to ensure optimal performance and to avoid unexpected behavior
at node_modules\react-native\Libraries\LogBox\LogBox.js:117:10 in registerWarning
at node_modules\react-native\Libraries\LogBox\LogBox.js:63:8 in warnImpl
at node_modules\react-native\Libraries\LogBox\LogBox.js:36:4 in console.warn
at node_modules\expo\build\environment\react-native-logs.fx.js:18:4 in warn
at node_modules\recyclerlistview\dist\reactnative\core\RecyclerListView.js:210:12 in prototype.componentDidUpdate
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:15732:12 in commitLifeCycles
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:18744:22 in commitLayoutEffects
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:265:4 in invokeGuardedCallbackImpl
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:476:2 in invokeGuardedCallback
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:18483:29 in commitRootImpl
at [native code]:null in commitRootImpl
at node_modules\scheduler\cjs\scheduler.development.js:653:23 in unstable_runWithPriority
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:18317:17 in commitRoot
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:17697:12 in performSyncWorkOnRoot
at [native code]:null in performSyncWorkOnRoot
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:5321:31 in runWithPriority$argument_1
at node_modules\scheduler\cjs\scheduler.development.js:653:23 in unstable_runWithPriority
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:5316:21 in flushSyncCallbackQueueImpl
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:5304:28 in flushSyncCallbackQueue
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:17125:30 in scheduleUpdateOnFiber
at node_modules\react-native\Libraries\Renderer\implementations\ReactNativeRenderer-dev.js:7267:16 in classComponentUpdater.enqueueSetState
at node_modules\react\cjs\react.development.js:471:2 in Component.prototype.setState
at node_modules\recyclerlistview\dist\reactnative\core\RecyclerListView.js:423:13 in prototype._queueStateRefresh
at node_modules\recyclerlistview\dist\reactnative\core\RecyclerListView.js:70:14 in RecyclerListView
at node_modules\lodash.debounce\index.js:159:21 in invokeFunc
at node_modules\lodash.debounce\index.js:206:20 in trailingEdge
at node_modules\lodash.debounce\index.js:194:20 in timerExpired
at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:130:14 in _callTimer
at node_modules\react-native\Libraries\Core\Timers\JSTimers.js:383:16 in callTimers
at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:416:4 in __callFunction
at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:109:6 in __guard$argument_0
at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:364:10 in __guard
at node_modules\react-native\Libraries\BatchedBridge\MessageQueue.js:108:4 in callFunctionReturnFlushedQueue
at [native code]:null in callFunctionReturnFlushedQueue

RecyclerListView 组件在获取或加载数据之前安装。 所以用条件渲染包裹起来,以便运行只有在有数据的时候

示例:

return (
       {dataProvider && dataProvider.getSize() > 0 &&
              <RecyclerListView 
               ..../>
        }
)

credit

确保在呈现 RecyclerListView 组件之前将所有数据加载到数组中。 示例

{yourArray.length > 0 && (
 <RecyclerListView {props}/> )}