• Giới thiệu
  • Bảo mật và Quyền riêng tư
  • Liên hệ
Wednesday, October 4, 2023
Thế giới JS & VPS
  • Trang chủ
  • Thế Giới Javascript
    • Full tài liệu học JS Free từ A-Z
    • Học javascript miễn phí
    • Javascript
    • News and Tutorial JS
    • ReactJS
    • Tips vs Tricks JS
    • VueJS
    • NodeJS
  • Thế giới VPS
    • VPS for Developer
  • Top IT
No Result
View All Result
  • Trang chủ
  • Thế Giới Javascript
    • Full tài liệu học JS Free từ A-Z
    • Học javascript miễn phí
    • Javascript
    • News and Tutorial JS
    • ReactJS
    • Tips vs Tricks JS
    • VueJS
    • NodeJS
  • Thế giới VPS
    • VPS for Developer
  • Top IT
No Result
View All Result
Thế giới JS & VPS
No Result
View All Result
Home Thế Giới Javascript Javascript

React Native Scaling Drawer: Thêm Một Tủ Đựng Tích Hợp Co To React Native Của Bạn

by Joker
September 19, 2023
in Javascript, Thế Giới Javascript
0
0
SHARES
0
VIEWS
Share on FacebookShare on TwitterShare on Pin

Nội dung chính

  • react-native-scaling-drawer
  • Cài Đặt
  • API
  • LƯU Ý
  • Ví Dụ Với React Navigation
  • CÔNG VIỆC CÒN PHẢI LÀM
  • Chi Tiết Tải Về:

react-native-scaling-drawer

Tủ Đựng Tích Hợp Co To React Native

Cài Đặt

npm i react-native-scaling-drawer --save

image image

API

Thuộc Tính Loại Mặc Định Mô Tả
scalingFactor số 0.6 Kích thước co tối đa (theo phần trăm) của giao diện Front View của bạn. Đặt giá trị cao hơn 0.1 và thấp hơn 1
minimizeFactor số 0.7 Độ dịch chuyển tối đa (theo phần trăm) của vị trí Front View của bạn so với lề trái của màn hình. Giá trị 0.5 có nghĩa là giữa màn hình nếu giá trị co là
content phần tử – Nội dung tủ đựng (Menu Bên Trái)
swipeOffset số 10 Độ dịch chuyển tối thiểu cho Front View của bạn để kích hoạt hành động Kéo Tủ đựng
contentWrapperStyle đối tượng – Phong cách tùy chỉnh cho Bao Bì Menu Tủ Đựng
frontStyle đối tượng – Phong cách tùy chỉnh cho Giao Diện Front View
onOpen hàm – Nếu bạn mở tủ đựng, kích hoạt hàm onOpen
onClose hàm – Nếu bạn đóng tủ đựng, kích hoạt hàm onClose

LƯU Ý

Nếu bạn muốn vô hiệu hóa kéo tủ đựng, bạn có thể truy cập phương thức blockSwipeAbleDrawer và gửi giá trị true. (Giá trị mặc định là false, bạn có thể kéo tủ đựng trên mọi màn hình). Bạn có thể kiểm tra ví dụ của tôi để chặn.

Ví Dụ Với React Navigation

import React, {Component} from 'react';
import {View, StatusBar, TouchableOpacity, Text} from 'react-native';
import ScalingDrawer from 'react-native-scaling-drawer';
import Home from './container/Home';
import Profile from './container/Profile';
import Wins from './container/Wins';
import Detail from './container/Detail';
import LeftMenu from './component/LeftMenu';
import {
  createNavigator,
  createNavigationContainer,
  StackRouter,
  addNavigationHelpers,
} from 'react-navigation';

let defaultScalingDrawerConfig = {
  scalingFactor: 0.6,
  minimizeFactor: 0.6,
  swipeOffset: 20
};

class CustomDrawerView extends Component {
  constructor(props) {
    super(props);
  }

  componentWillReceiveProps(nextProps) {
    /** Active Drawer Swipe **/
    if (nextProps.navigation.state.index === 0)
      this._drawer.blockSwipeAbleDrawer(false);

    if (nextProps.navigation.state.index === 0 && this.props.navigation.state.index === 0) {
      this._drawer.blockSwipeAbleDrawer(false);
      this._drawer.close();
    }

    /** Block Drawer Swipe **/
    if (nextProps.navigation.state.index > 0) {
      this._drawer.blockSwipeAbleDrawer(true);
    }
  }

  setDynamicDrawerValue = (type, value) => {
    defaultScalingDrawerConfig[type] = value;
    /** forceUpdate show drawer dynamic scaling example **/
    this.forceUpdate();
  };

  render() {
    const {routes, index} = this.props.navigation.state;
    const ActiveScreen = this.props.router.getComponentForState(this.props.navigation.state);

    return (
      <ScalingDrawer
        ref={ref => this._drawer = ref}
        content={<LeftMenu navigation={this.props.navigation}/>}
        {...defaultScalingDrawerConfig}
        onClose={() => console.log('close')}
        onOpen={() => console.log('open')}
      >
        <ActiveScreen
          navigation={addNavigationHelpers({
            ...this.props.navigation,
            state: routes[index],
            openDrawer: () => this._drawer.open(),
          })}
          dynamicDrawerValue={ (type, val) => this.setDynamicDrawerValue(type, val) }
        />
      </ScalingDrawer>
    )
  }
}

const AppNavigator = StackRouter({
  Home: {screen: Home},
  Profile: {screen: Profile},
  Wins: {screen: Wins},
  Detail: {
    screen: Detail,
    path: 'detail'
  }
}, {
  initialRouteName: 'Home',
});

const CustomDrawer = createNavigationContainer(createNavigator(AppNavigator)(CustomDrawerView));

export default CustomDrawer;

CÔNG VIỆC CÒN PHẢI LÀM

  • Thêm Hiệu Ứng Góc Nhìn

Chi Tiết Tải Về:

Tác Giả: melihberberolu
Nguồn: https://github.com/melihberberolu/react-native-scaling-drawer

Giấy Phép: MIT license

Cảm ơn bạn!

Tags: javascript
Previous Post

Node-Archiver: Giao diện Luồng cho Việc Tạo File Nén

Next Post

Thêm Một Lưới Ảnh Tùy Chỉnh và Linh Hoạt vào Dự Án React Native Của Bạn

Next Post

Thêm Một Lưới Ảnh Tùy Chỉnh và Linh Hoạt vào Dự Án React Native Của Bạn

  • Trending
  • Comments
  • Latest
Học javascript miễn phí | Giới thiệu về toàn tập về JavaScript là gì một cách đơn giản nhất

Học javascript miễn phí | Tìm hiểu cực chi tiết và dễ hiểu về đối tượng(Objects) trong JavaScript

July 2, 2023
Học javascript miễn phí | Giới thiệu về toàn tập về JavaScript là gì một cách đơn giản nhất

Học javascript miễn phí | Tìm hiểu cực chi tiết và dễ hiểu về Hàm(function) trong JavaScript

June 28, 2023
Học javascript miễn phí | Giới thiệu về toàn tập về JavaScript là gì một cách đơn giản nhất

Học javascript miễn phí | Tìm hiểu cực chi tiết và dễ hiểu về Toán tử số học và ví dụ trong JavaScript

July 4, 2023
Học javascript miễn phí | Giới thiệu về toàn tập về JavaScript là gì một cách đơn giản nhất

Học javascript miễn phí | Tìm hiểu cực chi tiết và dễ hiểu về hàm mũi tên là gì và làm thế nào để tạo ra nó? trong JavaScript

July 6, 2023
Top IT | Top 5 xu hướng DevOps đang thịnh hành hiện nay mà các developer nên biết

Top IT | Top 5 xu hướng DevOps đang thịnh hành hiện nay mà các developer nên biết

0
TopIT | Chọn Python để phát triển web – Top 16 ưu và nhược điểm hàng đầu bạn cần biết

TopIT | Chọn Python để phát triển web – Top 16 ưu và nhược điểm hàng đầu bạn cần biết

0
TopIT | Top 16 thư viện React mà các developer nên biết

TopIT | Top 16 thư viện React mà các developer nên biết

0
TopIT | Top 17 ứng dụng web cực hay developer nên sử dụng để tăng năng suất

TopIT | Top 17 ứng dụng web cực hay developer nên sử dụng để tăng năng suất

0

Lấy Giá Trị Hàng Được Chọn Trong Bảng HTML bằng jQuery

October 2, 2023

Thêm Các Nút FAB Tuỳ Chỉnh và Thiết Kế Vật Liệu vào Ứng Dụng React Native của Bạn

October 2, 2023

Cách Tạo Một Đồng Hồ Bấm Đơn Giản bằng JavaScript

October 2, 2023

Rebass: Các thành phần giao diện người dùng nguyên thủy React được xây dựng với Styled-system

October 2, 2023

Recent News

Lấy Giá Trị Hàng Được Chọn Trong Bảng HTML bằng jQuery

October 2, 2023

Thêm Các Nút FAB Tuỳ Chỉnh và Thiết Kế Vật Liệu vào Ứng Dụng React Native của Bạn

October 2, 2023

Cách Tạo Một Đồng Hồ Bấm Đơn Giản bằng JavaScript

October 2, 2023

Rebass: Các thành phần giao diện người dùng nguyên thủy React được xây dựng với Styled-system

October 2, 2023

Thế giới Javascript vs VPS

We bring you the best News, Tutorial, Tips.v..v about Javascript language and VPS that perfect for developer full stack, Web, Backend, Newbie...to learn.

Follow Us

Top trending

  • Học javascript miễn phí
  • Javascript
  • Lập trình web
  • News and Tutorial JS
  • Thế Giới Javascript
  • Tip vs Tricks HTML/CSS
  • Tips vs Tricks JS
  • Top IT

Bài đang hot

Lấy Giá Trị Hàng Được Chọn Trong Bảng HTML bằng jQuery

October 2, 2023

Thêm Các Nút FAB Tuỳ Chỉnh và Thiết Kế Vật Liệu vào Ứng Dụng React Native của Bạn

October 2, 2023
  • Giới thiệu
  • Bảo mật và Quyền riêng tư
  • Liên hệ

© 2020 VPSUS - Share everything about Javascript and VPS by JSTEAM.

No Result
View All Result
  • Thế Giới Javascript
    • Học javascript miễn phí
    • Javascript
    • News and Tutorial JS
    • ReactJS
    • Tips vs Tricks JS
  • Thế giới VPS
    • VPS for Developer
  • Top IT

© 2020 VPSUS - Share everything about Javascript and VPS by JSTEAM.