更新属性' accessibilityLabel'时出错管理的视图:RCTView TypeError:期望动态类型`string',但是有类型`object'

时间:2017-07-24 12:43:36

标签: javascript react-native react-navigation

我想创建一些带有堆栈和标签导航器的屏幕,但似乎没有用,它会收到类似error on virtual device的错误消息......

这是因为导航还是什么?

这是我的代码

  

ConfirmActivation.js

import React, { Component } from 'react';
import { StyleSheet, Image } from 'react-native';
import { Container, Header, Content, Left, Right, Body, Text, StyleProvider, 
Form, Item, Input, Label, Button, View } from 'native-base';
import { StackNavigator } from 'react-navigation';
import Icon from 'react-native-vector-icons/FontAwesome';
import getTheme from '../../../native-base-theme/components';
import material from '../../../native-base-theme/variables/material';

import Index from '../tabs/Index';

export default class sharpcs extends React.Component {
    static navigationOptions = {
        title: <Image source={require('../../assets/img/sharp_logo.png')} style={{width: 200, height: 50}} />,
        header: null
    }
  render() {
    return (
        <AppNavigation/>
    );
  }
}

class ConfirmActivation extends Component{
    static navigationOptions = {
        title: <Image source={require('../../assets/img/sharp_logo.png')} style={{width: 200, height: 50}} />,
        header: null
    }
  render() {
    const { navigate } = this.props.navigation;
    return (
    <StyleProvider style={getTheme(material)}>
        <Container style={styles.container} >
            <Form style={styles.form} >
                <Item floatingLabel>
                    <Label>Masukkan kode verifikasi</Label>
                    <Input keyboardType = 'numeric' maxLength = {13} />
                </Item>
                <View style={styles.buttonContainer} >
                    <Button 
                        onPress={() =>
                            navigate('MainScreen')
                        } success style={{width: 125}} >
                        <Label style={{color: '#FFF', marginLeft: 24}} >
                            Lanjut
                        </Label>
                    </Button>
                </View>
            </Form>
        </Container>
    </StyleProvider>
    );
  }
}

const App = StackNavigator({
  ThisScreen: { screen: ConfirmActivation },
  MainScreen: { screen: Index }
});

const AppNavigation = () => (
  <App />
);

const styles = StyleSheet.create({
form: {
    flex: 2,
    flexDirection: 'column',
    justifyContent: 'center',
    alignItems: 'center'
},
container: {
    padding: 20
},
buttonContainer: {
    marginTop: 20,
    flexDirection: 'row',
    alignSelf: 'flex-end'
}
});
  

Index.js

import React, { Component } from 'react';

export default class Index extends React.Component {
  render() {
    return null;
  }
}

1 个答案:

答案 0 :(得分:5)

错误原因是sharpcs类的navigationOptions中的标题。它需要一个字符串。你已经为它提供了一个图像组件。虽然图像出现,但导航时会出现此错误。所以使用而不是title,headerTitle