看起来像是在使用const的React Native中提升

时间:2017-11-16 17:57:01

标签: javascript react-native ecmascript-6

我注意到一个有趣的事情在本地反应。我认为const和let不支持在ES6中提升。 如何在其定义上面使用const 样式

    render() {
        const { repos } = this.state;
        const reposList = repos.map((rep, index) => {
            return (
                    <Text>{rep.name}</Text>
            )
        });

        return (
                <View style={styles.container}>  <-- styles should not be defined
                    {reposList}
                </View>
        );
    }
}

const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    },
    welcome: {
        fontSize: 20,
        textAlign: 'center',
        margin: 10,
    },
    instructions: {
        textAlign: 'center',
        color: '#333333',
        marginBottom: 5,
    },
});

是否因为React Native中的提升机制?

1 个答案:

答案 0 :(得分:5)

你在一个类中定义了渲染,只是定义了类没有执行,所以它可以看到你在它下面创建的样式。它并没有真正起吊。