Это не рамки, это ты.
Вам не нужно использовать app.js в качестве фиктивного компонента, вы можете напрямую использовать тот же код Routes.js в вашем app.js. Обертывание навигатора внутри компонента создает проблемы.
Во-вторых, вы используете appregistry дважды, вы должны использовать его один раз, он направляется прямо в App.js, у которого нет ящика, и вообще не используетоллнесс, поэтому undefined не является функцией, нет ящика.
index.js [первый файл реакции-нативный изучает]
import { AppRegistry, Dimensions } from 'react-native';
import {name as appName} from './app.json';
import { createDrawerNavigator , createAppContainer } from 'react-navigation';
import SideMenu from './src/SideMenu'
import Routes from './src/Routes';
const drawernav = createDrawerNavigator({
Item1: {
screen: Routes,
}
}, {
contentComponent: SideMenu,
drawerWidth: Dimensions.get('window').width - 120,
});
AppRegistry.registerComponent(appName, () => createAppContainer(drawernav)); //createAppContainer goes in your root navigator, in this case, a drawer
rout.js
import { createStackNavigator } from 'react-navigation';
import Home from './Home';
import Settings from './Settings';
import SideMenu from './SideMenu';
import { Button, Text, TouchableOpacity } from 'react-native';
const Nav = createStackNavigator({
Home: {
screen: Home,
navigationOptions: ({navigation}) => ({
title: "Home",
headerLeft:(<TouchableOpacity onPress={() => navigation.openDrawer()}>
<Text >Button</Text>
</TouchableOpacity>
),
})
},
Settings: {
screen: Settings,
navigationOptions: ({navigation}) => ({
title: "Settings",
})
},
});
export default Nav;
Кроме того, поскольку вы просто отображая один компонент в навигаторе ящиков (Маршруты), вы не должны вкладывать экраны в стекнавигатор, просто передавайте его в секвенатор, и он автоматически переключается между ними
const drawernav = createDrawerNavigator({
Item1: {
screen: Home,
screen: Settings,
}
}, {
contentComponent: SideMenu,
drawerWidth: Dimensions.get('window').width - 120,
});
После быстрого прочтения исходного кода я сказал бы, чтобы попытаться использовать 'остановку' или 'изменение' вместо 'слайда'. Кажется, что случай 'остановки' происходит на mouseup, и случай 'изменения' происходит на mouseup, но только если измененное значение. Я не видел документации относительно этого, конечно, я не выглядел очень твердым.
При инициализации ползунка используйте это:
var slider = $('.slider').slider({
steps: 10,
handle: $('.knob'),
animate:'true',
min:1,
max:10,
startValue: 1,
change: function(e,ui){
//Do something with ui.value
}
});
Документация подтверждает то, что просто заявил FryGuy... От страницы параметров ползунка:
измените Функцию (Событие, ui): Функция, к которой обращаются остановка слайда, но только если положение ползунка изменилось.остановите Функцию (Событие, ui): Функция, которая вызвана, когда пользователь прекращает скользить.