我得到以下每次我在抽屜裏打同一項目兩次時間警告:警告:flattenChildren(...)有反應,本地導航和DrawerLayoutAndroid
Warning: flattenChildren(...): Encountered two children with the same key, `scene_1`. Child keys must be unique; when two children share a key, only the first child will be used.
這裏是我的代碼:
import React from 'react';
import {
View, Navigator,DrawerLayoutAndroid, Text, TouchableHighlight
} from 'react-native';
const ROUTES = [ { name: 'Main' } ];
export default class App extends React.Component {
render() {
return (
<View style={{ flex: 1 }}>
<DrawerLayoutAndroid
ref="drawer"
drawerWidth={300}
renderNavigationView={() => (
<View>
<TouchableHighlight
key={ROUTES[0].name}
onPress={() => this.refs.navigator.push(ROUTES[0])}
>
<Text>{ROUTES[0].name}</Text>
</TouchableHighlight>
</View>
)}
>
<Navigator
ref="navigator"
initialRoute={ROUTES[0]}
renderScene={route => <Text>Scene {route.name}</Text>}
/>
</DrawerLayoutAndroid>
</View>
);
}
}
目前我不知道如何處理這個。這個警告對於不同的問題看起來也很常見。
任何人有一個想法如何解決這個問題?
您是如何找到解決方案的?我在ios上面臨同樣的問題...並且替換push而不是解決方案... –
也許這不是一個真正的解決方案。但它解決了我的問題。我通過閱讀文檔發現了這一點。也許我不明白導航器背後的概念。我第一次使用它。祝你好運找到你的問題的解決方案。 :) – danbruegge
我已經發布我的問題在那裏:http://stackoverflow.com/questions/41730072/issue-when-pushing-new-route-with-navigator,並找到了解決辦法。當您嘗試將相同的路線兩次推送到導航器堆棧時,會發生此錯誤。這也是你的情況。你有一個單一的路線,你又把它推到路線堆棧...... –