📜  如何使用材料设计在 React Native 中创建 Snackbar?

📅  最后修改于: 2022-05-13 01:56:12.752000             🧑  作者: Mango

如何使用材料设计在 React Native 中创建 Snackbar?

React Native 是 Facebook 开发的一个框架,用于在一种通用语言 JavaScript 下为 iOS 和 Android 创建原生风格的应用程序。最初,Facebook 只开发了 React Native 来支持 iOS。但是,由于最近支持 Android 操作系统,该库现在可以为这两个平台呈现移动 UI。

先决条件:

  • ReactJS 的基础知识。
  • 具有 ES6 语法的 HTML、CSS 和 JavaScript。
  • Node.js 应该安装在您的系统中(安装)。
  • Jdk 和 android studio 用于在模拟器上测试您的应用程序(安装)。

方法:在本文中,我们将看到如何在 React Native 中创建一个snackbar。为了创建一个snackbar,我们将使用材料设计库,即react-native-paper 。 Snackbars 是关于操作的消息或反馈,但它们提供交互的操作。 Snackbar 将显示在屏幕底部,并且可以滑动以关闭它们。

在我们的项目中,我们将简单地显示一个按钮,点击按钮,屏幕底部会出现小吃栏。我们将分步实施。

下面是分步实现:

第 1 步:使用以下命令在 react-native 中创建一个项目:

npx react-native init DemoProject

第 2 步:使用以下命令安装 react-native paper:

npm install react-native-paper

第 3 步:在您的项目中创建一个组件文件夹。在 components 文件夹中创建一个文件 Snackbar.js

项目结构:它看起来像这样。

实现:在各自的文件中写下代码。

在 Snackbar.js 中,我们直接从 react-native-paper 库中导入了 Snackbar 项目。它使用以下道具:

  • visible:显示或隐藏 Snackbar 可以是 true 或 false
  • 动作:标记并按下动作按钮的回调。它应该包含以下属性:
    • label -操作按钮的标签
    • onPress –按下操作按钮时调用的回调。
  • onDismiss:当 Snackbar 被关闭时调用的回调函数。调用时需要更新可见道具。

文件名:Snackbar.js

Javascript
import React, { useState } from "react";
import { Text, View, StyleSheet, Dimensions } from 'react-native';
import { Snackbar, Button } from "react-native-paper";
  
const screenHeight = Dimensions.get('window').height;
const SnackbarComponent = () => {
    const [snackVisible, setSnackVisible] = useState(false);
  
    return (
        
            
                
            
  
             setSnackVisible(false)}
                action={{ label: 'Proceed' }}>
                Welcome to GeeksForGeeks
            
        
    )
}
export default SnackbarComponent;
  
const styles = StyleSheet.create({
    container: {
  
        flexDirection: "column-reverse",
        justifyContent: "flex-end",
        height: screenHeight,
    },
    btn: {
        marginVertical: 50,
        alignItems: "center"
    }
})


Javascript
import React from 'react';
import type { Node } from 'react';
import { View } from 'react-native';
import SnackbarComponent from './components/Snackbar';
  
const App: () => Node = () => {
    return (
        
            
        
    );
};
  
export default App;


现在,将此文件导入您的 App.js

文件名:App.js

Javascript

import React from 'react';
import type { Node } from 'react';
import { View } from 'react-native';
import SnackbarComponent from './components/Snackbar';
  
const App: () => Node = () => {
    return (
        
            
        
    );
};
  
export default App;

运行应用程序的步骤:使用以下命令运行应用程序:

npx react-native run-android

输出: