javascript - (React Native) 组件异常 - 文本字符串必须在 <Text> 组件内呈现

标签 javascript runtime-error expo react-native

我正在 React Native 中开发一个应用程序,并且我有一些适用于 Web 和 iOS 的代码,但不适用于 Android。我不断收到标题中所述的错误,我不确定为什么......基本上该函数采用 bool 数组,并返回这些标志所代表的内容的图形表示(密码策略)。错误标记返回红色文本,正确标记返回绿色文本。应用程序编译并且在函数运行之前不会崩溃。请指教。

function displayPwPolicy(flags) {
    var policies = [
        "Be 8~256 characters long",
        "Have uppercase character(s)",
        "Have lowercase character(s)",
        "Have numerical character(s)",
        "Have special character(s)",
        "Have no invalid characters"
    ]
    
    return (
        <View>
            <Text style={styles.homePwPolicy}>*Your password must:</Text>
            {
                policies.map( (policy, i) => 
                    <Text key={'policy00' + i} style={{ color: flags[i] ? 'green' : 'red' }}>
                        {(flags[i] ? '✔':'✘') + '\t ' + policy}
                    </Text>
                )
            }
        </View>
    )
}

调用堆栈:https://photos.app.goo.gl/1G2JKUiYJqsLVHoz5

编辑1:这是函数调用。如果删除该行,应用程序将正常工作

<TextInput
    style        = {styles.homeInput}
    value        = {userLast}
    placeholder  = 'Last Name'
    onChangeText = {last => setUserLast(last)}
/>

{ pwPolicyShown && displayPwPolicy(pwPolicyFlags) }

<TouchableOpacity style={styles.homeButtons}>
    <Text style={styles.homeButtonText}>
        CREATE ACCOUNT
    </Text>
</TouchableOpacity>

最佳答案

由于另一个 post 解决了该问题作者:dulmandakh 在 github 上。问题在于函数调用的条件渲染。如果不与比较运算符配对,某些平台显然会尝试渲染正在评估的变量。必须将“pwPolicyShown”更改为“pwPolicyShown == true”。

关于javascript - (React Native) 组件异常 - 文本字符串必须在 <Text> 组件内呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65913183/

相关文章:

javascript - Facebook 用户访问 token 在 Unix 时间过期

c++ - 嵌套 for 循环 C++ 中的运行时错误

c++ - 错误 : Run-Time Check Failure #2 - Stack around the variable 'file' was corrupted

react-native - Github Actions expo 上传 :ios returning Invalid credentials

javascript - 如何识别用户是否在特定网站上?

javascript - 在函数之后集成 .catch

react-native - 将 Expo React Native App.js 更改为不同的文件

javascript - 遍历数据库子项并显示每个子项

javascript - IE中的选择范围

ios - isDaylightSavingTimeForDate 导致 fatal error