я получаю следующее предупреждение каждый раз, когда я попал в тот же пункт в ящике дважды:Внимание: 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 и нашел решение с тех пор. Эта ошибка возникает, когда вы пытаетесь дважды перенаправить один и тот же маршрут в стек навигатора. Это также происходит в вашем случае. У вас есть один маршрут, и вы снова нажимаете его на стек маршрута ... –