Flatlist maintainVisibleContentPosition 导致 iOs 上的即时崩溃
Flatlist maintainVisibleContentPosition causes instant crash on iOs
我有一个只有这个组件的应用程序:
function TestComp() {
return (
<FlatList
keyExtractor={(item) => String(item)}
data={[0, 1, 2, 3]}
renderItem={({ item }) => (
<View>
<Text>{item}</Text>
</View>
)}
maintainVisibleContentPosition <--- Causes crash
/>
);
}
程序立即崩溃,抛出错误:
Exception thrown while executing UI block: - [__NSCFBoolean objectForKeyedSubscript:]: unrecognized selector sent to instance 0x11bfcae48
.
当我删除 maintainVisibleContentPosition 道具时崩溃消失了(但我需要它)。
我在 react 16.11.0
,使用 expo sdk 38.0.0
。
知道为什么会这样吗?
发生这种情况是因为 React 期望您定义最小可见位置,即使它为零。因此,不要只放置 maintainVisibleContentPosition,而是尝试使用
maintainVisibleContentPosition={{
minIndexForVisible: 0,
}}
maintainVisibleContentPosition这里是官方文档
应用程序崩溃是因为 maintainVisibleContentPosition
正在考虑一个对象
试试这个
maintainVisibleContentPosition={{
minIndexForVisible: 0,
}}
这里是演示:https://snack.expo.io/@nomi9995/flastlist-fix-crash
import * as React from 'react';
import { FlatList, Text, View } from 'react-native';
export default function App() {
return (
<FlatList
keyExtractor={(item) => String(item)}
data={[0, 1, 2, 3]}
renderItem={({ item }) => (
<View>
<Text>{item}</Text>
</View>
)}
maintainVisibleContentPosition={{
minIndexForVisible: 0,
}}
/>
);
}
我有一个只有这个组件的应用程序:
function TestComp() {
return (
<FlatList
keyExtractor={(item) => String(item)}
data={[0, 1, 2, 3]}
renderItem={({ item }) => (
<View>
<Text>{item}</Text>
</View>
)}
maintainVisibleContentPosition <--- Causes crash
/>
);
}
程序立即崩溃,抛出错误:
Exception thrown while executing UI block: - [__NSCFBoolean objectForKeyedSubscript:]: unrecognized selector sent to instance 0x11bfcae48
.
当我删除 maintainVisibleContentPosition 道具时崩溃消失了(但我需要它)。
我在 react 16.11.0
,使用 expo sdk 38.0.0
。
知道为什么会这样吗?
发生这种情况是因为 React 期望您定义最小可见位置,即使它为零。因此,不要只放置 maintainVisibleContentPosition,而是尝试使用
maintainVisibleContentPosition={{
minIndexForVisible: 0,
}}
maintainVisibleContentPosition这里是官方文档
应用程序崩溃是因为 maintainVisibleContentPosition
正在考虑一个对象
试试这个
maintainVisibleContentPosition={{
minIndexForVisible: 0,
}}
这里是演示:https://snack.expo.io/@nomi9995/flastlist-fix-crash
import * as React from 'react';
import { FlatList, Text, View } from 'react-native';
export default function App() {
return (
<FlatList
keyExtractor={(item) => String(item)}
data={[0, 1, 2, 3]}
renderItem={({ item }) => (
<View>
<Text>{item}</Text>
</View>
)}
maintainVisibleContentPosition={{
minIndexForVisible: 0,
}}
/>
);
}