Reactjs ; } openCalendar(){ this.calendar&&this.calendar.open(); } //在渲染函数中 render(){ //这是一个可选属性,我用它来显示customI18n对象的结构。 让customI18n={ ‘w’:[‘星期一’、‘星期二’、‘星期三’、‘星期四’、‘星期五’、‘星期六’、‘星期日’], “工作日”:[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”], “文本”:{ “开始”:“签入”, “结束”:“签出”, “日期”:“日期”, “保存”:“确认”, “清除”:“重置” }, 'date':'DD/MM'//日期格式 }; //也是可选属性。 让颜色={ 子颜色:“#f0” }; 返回( {this.calendar=calendar;}} customI18n={customI18n} 颜色={color} format=“YYYYMMDD” minDate=“20170510” maxDate=“20180312” startDate={this.state.startDate} endDate={this.state.endDate} onConfirm={this.confirmDate} /> ); } }

Reactjs ; } openCalendar(){ this.calendar&&this.calendar.open(); } //在渲染函数中 render(){ //这是一个可选属性,我用它来显示customI18n对象的结构。 让customI18n={ ‘w’:[‘星期一’、‘星期二’、‘星期三’、‘星期四’、‘星期五’、‘星期六’、‘星期日’], “工作日”:[“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”], “文本”:{ “开始”:“签入”, “结束”:“签出”, “日期”:“日期”, “保存”:“确认”, “清除”:“重置” }, 'date':'DD/MM'//日期格式 }; //也是可选属性。 让颜色={ 子颜色:“#f0” }; 返回( {this.calendar=calendar;}} customI18n={customI18n} 颜色={color} format=“YYYYMMDD” minDate=“20170510” maxDate=“20180312” startDate={this.state.startDate} endDate={this.state.endDate} onConfirm={this.confirmDate} /> ); } },reactjs,react-native,npm,Reactjs,React Native,Npm,当您缺少结束方括号或额外方括号时,将生成此类错误,因此按ctrl+shift+f将代码格式化为可视代码,以查看缺少的方括号。这是一个语法错误。发布整个代码。@hongdeveloper您好,我发布的完整代码在您的代码中缺少最终“}”。*不变冲突:元素类型无效:需要字符串(对于内置的“组件”)或类/函数(对于复合组件)但是得到:object。您可能忘记了从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。“我明白了,您可以帮助您导入ActionButton,但您在render方法中只使

当您缺少结束方括号或额外方括号时,将生成此类错误,因此按ctrl+shift+f将代码格式化为可视代码,以查看缺少的方括号。

这是一个语法错误。发布整个代码。@hongdeveloper您好,我发布的完整代码在您的代码中缺少最终“}”。*不变冲突:元素类型无效:需要字符串(对于内置的“组件”)或类/函数(对于复合组件)但是得到:object。您可能忘记了从定义组件的文件中导出组件,或者您可能混淆了默认导入和命名导入。“我明白了,您可以帮助您导入ActionButton,但您在render方法中只使用了一些未知的按钮组件。考虑用ActuutBut纽替换按钮。@文达我更新了答案,所以你可以只复制代码。我试过了,但是我仍然得到相同的“不变违反”。error@Venda,我喜欢吃零食,这是正确的。请参阅此链接(),您应该重新加载项目。@Venda,您没有使用
图标
,请将其删除。它可能是您的
react原生向量图标
not链接
npm install --save react-native-calendar-select
import React, { Component } from 'react';
import ActionButton from 'react-native-action-button';
import Icon from 'react-native-vector-icons/Ionicons';
import { StyleSheet, Text, View } from 'react-native';
import Calendar from 'react-native-calendar-select';


class YourComponent extends Component {
    constructor(props) {
        super(props);
        this.state = {
            startDate: new Date(2017, 6, 12),
            endDate: new Date(2017, 8, 2)
        };
        this.confirmDate = this.confirmDate.bind(this);
        this.openCalendar = this.openCalendar.bind(this);
    }
    // when confirm button is clicked, an object is conveyed to outer component
    // contains following property:
    // startDate [Date Object], endDate [Date Object]
    // startMoment [Moment Object], endMoment [Moment Object]
    confirmDate({ startDate, endDate, startMoment, endMoment }) {
        this.setState({
            startDate,
            endDate
        });
    }
    openCalendar() {
        this.calendar && this.calendar.open();
    }
    // in render function
    render() {
        // It's an optional property, I use this to show the structure of customI18n object.
        let customI18n = {
            'w': ['', 'Mon', 'Tues', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun'],
            'weekday': ['', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
            'text': {
                'start': 'Check in',
                'end': 'Check out',
                'date': 'Date',
                'save': 'Confirm',
                'clear': 'Reset'
            },
            'date': 'DD / MM'  // date format
        };
        // optional property, too.
        let color = {
            subColor: '#f0f0f0'
        };
        return (
            <View>
                <Button title="Open Calendar" onPress={this.openCalendar} />
                <Calendar
                    i18n="en"
                    ref={(calendar) => { this.calendar = calendar; }}
                    customI18n={customI18n}
                    color={color}
                    format="YYYYMMDD"
                    minDate="20170510"
                    maxDate="20180312"
                    startDate={this.state.startDate}
                    endDate={this.state.endDate}
                    onConfirm={this.confirmDate}
                />
            </View>
        );
    }
import React, { Component } from 'react';

import ActionButton from 'react-native-action-button';
import Icon from 'react-native-vector-icons/Ionicons';
import { StyleSheet, Text, View } from 'react-native';
import Calendar from 'react-native-calendar-select';


class YourComponent extends Component {
  constructor(props) {
    super(props);
    this.state = {
      startDate: new Date(2017, 6, 12),
      endDate: new Date(2017, 8, 2)
    };
    this.confirmDate = this.confirmDate.bind(this);
    this.openCalendar = this.openCalendar.bind(this);
  }

  // when confirm button is clicked, an object is conveyed to outer component
  // contains following property:
  // startDate [Date Object], endDate [Date Object]
  // startMoment [Moment Object], endMoment [Moment Object]
  confirmDate({startDate, endDate, startMoment, endMoment}) {
    this.setState({
      startDate,
      endDate
    });
  }

  openCalendar() {
    this.calendar && this.calendar.open();
  }

  // in render function
  render() {
    // It's an optional property, I use this to show the structure of customI18n object.
    let customI18n = {
      'w': ['', 'Mon', 'Tues', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun'],
      'weekday': ['', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
      'text': {
        'start': 'Check in',
        'end': 'Check out',
        'date': 'Date',
        'save': 'Confirm',
        'clear': 'Reset'
      },
      'date': 'DD / MM'  // date format
    };
    // optional property, too.
    let color = {
      subColor: '#f0f0f0'
    };
    return (
      <View>
        <ActionButton
          buttonColor="rgba(231,76,60,1)"
          onPress={this.openCalendar}
        />
        <Calendar
          i18n="en"
          ref={(calendar) => {this.calendar = calendar;}}
          customI18n={customI18n}
          color={color}
          format="YYYYMMDD"
          minDate="20170510"
          maxDate="20180312"
          startDate={this.state.startDate}
          endDate={this.state.endDate}
          onConfirm={this.confirmDate}
        />
      </View>
    );
  }
}
import React, { Component } from 'react';
import { StyleSheet, Text, View, Button } from 'react-native';
import Calendar from 'react-native-calendar-select';


class YourComponent extends Component {
    constructor(props) {
        super(props);
        this.state = {
            startDate: new Date(2017, 6, 12),
            endDate: new Date(2017, 8, 2)
        };
        this.confirmDate = this.confirmDate.bind(this);
        this.openCalendar = this.openCalendar.bind(this);
    }
    // when confirm button is clicked, an object is conveyed to outer component
    // contains following property:
    // startDate [Date Object], endDate [Date Object]
    // startMoment [Moment Object], endMoment [Moment Object]
    confirmDate({ startDate, endDate, startMoment, endMoment }) {
        this.setState({
            startDate,
            endDate
        });
    }
    openCalendar() {
        this.calendar && this.calendar.open();
    }
    // in render function
    render() {
        // It's an optional property, I use this to show the structure of customI18n object.
        let customI18n = {
            'w': ['', 'Mon', 'Tues', 'Wed', 'Thur', 'Fri', 'Sat', 'Sun'],
            'weekday': ['', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'],
            'text': {
                'start': 'Check in',
                'end': 'Check out',
                'date': 'Date',
                'save': 'Confirm',
                'clear': 'Reset'
            },
            'date': 'DD / MM'  // date format
        };
        // optional property, too.
        let color = {
            subColor: '#f0f0f0'
        };
        return (
            <View>
                <Button title="Open Calendar" onPress={this.openCalendar} />
                <Calendar
                    i18n="en"
                    ref={(calendar) => { this.calendar = calendar; }}
                    customI18n={customI18n}
                    color={color}
                    format="YYYYMMDD"
                    minDate="20170510"
                    maxDate="20180312"
                    startDate={this.state.startDate}
                    endDate={this.state.endDate}
                    onConfirm={this.confirmDate}
                />
            </View>
        );
    }
}