React Native datetimepicker 问题。在这段代码中为啥 Platform.OS==='ios'?true:false?

Posted

技术标签:

【中文标题】React Native datetimepicker 问题。在这段代码中为啥 Platform.OS===\'ios\'?true:false?【英文标题】:React Native datetimepicker question. In this code why Platform.OS==='ios'?true:false?React Native datetimepicker 问题。在这段代码中为什么 Platform.OS==='ios'?true:false? 【发布时间】:2020-05-11 01:25:09 【问题描述】:

状态的基本用法

import React, Component from 'react';
从'react-native'导入View,Button,Platform;
从“@react-native-community/datetimepicker”导入 DateTimePicker;

导出默认类 App 扩展组件 
  状态 = 
    日期:新日期('2020-06-12T14:42:42'),
    模式:'日期',
    显示:假,
  

  setDate = (事件,日期) => 
    日期 = 日期 || this.state.date;

    这个.setState(
      显示:Platform.OS === 'ios' ? true : false, //*问题:为什么 ios 为 true?
      日期,
    );
  

  显示 = 模式 => 
    这个.setState(
      显示:真实,
      模式,
    );
  

  日期选择器 = () => 
    this.show('日期');
  

  时间选择器 = () => 
    this.show('时间');
  

  使成为() 
    常量  显示,日期,模式  = this.state;

    返回 (
      
        
          
        查看>
        
          
        查看>
         显示 && 
        
      查看>
    );
  

如果Platform.OS === true 用于ios,日期时间选择器窗口将始终显示并且不会永远关闭。 为什么要区别对待android和ios? 代码来自the official github,所以我猜它有一些正当的理由。

【问题讨论】:

【参考方案1】:

这只是因为您想在设备是IOS的情况下显示选择器。

【讨论】:

【参考方案2】:

嗯,它们有两种完全不同的外观模式,以保持原生外观和感觉。 ios datetimepicker 是一个可以在视图中放置并保持打开的组件(由***制成),而 android 更像是一个弹出窗口,因此它必须在用户对其触发器进行操作时关闭和打开。

希望它会有所帮助 问候! 马可

【讨论】:

以上是关于React Native datetimepicker 问题。在这段代码中为啥 Platform.OS==='ios'?true:false?的主要内容,如果未能解决你的问题,请参考以下文章

无法解析依赖树 - React Native Expo

React 本机模式的行为不符合预期

无法在反应 js 类组件中编辑 datetimepicker material-ui

表单不提交Material UI DateTimePicker的默认值

react-native init 指定 react 版本和 react-native 版本

添加 React-Native-Camera 和 React-Native-Push-Notification 后无法构建 React Native