React Native - 文件永远编译(可能是无限循环?)

React Native - File compiling forever (maybe infinite loop?)

不久前我开始使用 React Native 编写代码,我偶然发现了这个问题,我已经坚持了三天多了。我的文件永远编译。消息是“正在编译...”并且永远不会结束,而且在编译时,我的 RAM 100% 都被使用了,所以我认为这是一个无限循环,因为代码很小所以我不知道还有什么导致我的电脑如此努力地工作。无论如何,这是我的代码:

App.js:

import React, { Component } from 'react';
import { StyleSheet, Text, View } from 'react-native';
import Register from './Registration/Registration.js';

class Application extends Component {
    render() {
        return (
            <div>
                <View style={styles.container}>
                    <Registration />
                </View>
            </div>
        );
    }
}
export default Application;

Registration.js

import React, { Component } from 'react';
import { TextInput, TouchableOpacity, StyleSheet, Text, View } from 'react-native';

class Br extends Component {
    render() {
        return <Text>{'\n'}</Text>;
    }
}
class Register extends Component {
    state = {
        PWshow: false,
        togglePWtext: 'Show Password'
    }
    togglePW = () => {
        if (this.state.PWshow == false) {
            this.setState({ togglePWtext: 'Hide Password' })
            this.setState({ PWshow: true })
        } else {
            this.setState({ togglePWtext: 'Show Password' })
            this.setState({ PWshow: false })
        }
    }
    render() {
        return (
            <View>
                <TextInput 
                    style = {styles.textInput}
                    placeholder = "Username" 
                />
                <Br />
                <TextInput 
                    style = {styles.textInput}
                    placeholder = "Phone Number" 
                />
                <Br />
                <TextInput 
                    style = {styles.textInput}
                    placeholder = "E-mail" 
                />
                <Br />
                <TextInput 
                    style = {styles.textInput}
                    placeholder = "Password" 
                    secureTextEntry = {!this.state.PWshow}
                />
                <Br />
                <TextInput 
                    style = {styles.textInput}
                    placeholder = "Re-enter password" 
                    secureTextEntry = {!this.state.PWshow}
                />
                <Br />
                <TouchableOpacity style = {styles.button}>
                    <Text>Register</Text>
                </TouchableOpacity>
                <Br />
                <TouchableOpacity 
                style = {styles.button}
                onPress = {this.togglePW}>
                    <Text>{this.state.togglePWtext}</Text>
                </TouchableOpacity>
            </View>
        );
    }
}

const styles = StyleSheet.create({
    textInput: {
        borderWidth: 1,
        borderColor: 'black'
    },
    button: {
        width: 100,
        height: 50,
        borderWidth: 1,
        backgroundColor: 'lightblue',
        borderColor: 'black'
    }
});

export default Register;

我想用我的代码做的是创建一个注册页面。

<div> 是一个 HTML 元素,在 React Native 中是无效的。如果您需要容器,请使用 <View>.

我找到了!还要感谢凯,他帮助了一件事情。实际上,我的代码中有多个我没有注意到的错误。首先(感谢 Kai),我替换为因为是 HTML 元素,而不是 React Native 元素。其次,我的 class 组件被调用了,但我在 App.js 中用 .最后,我删除了 style = {styles.container} 因为我没有在 App.js 中定义样式,它只是我错误地留在其中的东西。再次感谢凯!