React Native rendering error when trying to render multiple components
P粉043566314
P粉043566314 2023-09-05 18:57:09
0
1
410

I want to render multiple copies of the same custom component built after the user presses the "Add" button. My code is as follows:

import "react-native-get-random-values"; import { StyleSheet, TextInput, View, Text, TouchableHighlight, Button } from 'react-native'; import React, { useState } from 'react'; import { v4 as uuidv4 } from 'uuid'; import Lift from './Lift' export default function Lifts() { // const [cards, setCards] = useState([{ id: uuidv4() }]) // const onPress = () => setCards([...cards, [{ id: uuidv4() }]]) const [cards, setCards] = useState([uuidv4()]) const onPress = () => setCards([...cards, uuidv4()]) const liftCards = cards.map((id) => { return (    ) }) return (     Add Lift    {/*  {cards}  */} { cards.map((data, id) => { return (  {id}  ) }) }  ) } const styles = StyleSheet.create({ button: { alignItems: 'center', borderWidth: 2, borderColor: 'black', borderRadius: 10, padding: 10, }, touchable: { marginHorizontal: 10, top: 10 } })
The

in the snippet above is a custom component that I want to display on the screen. The problem I'm having is that after clicking "Add Boost" a few times I get an error message saying "undefined is not a function".我得到的错误:

ERROR TypeError: undefined is not a function This error is located at: in Lifts (created by SceneView) in StaticContainer in EnsureSingleNavigator (created by SceneView) in SceneView (created by SceneView) in RCTView (created by View) in View (created by DebugContainer) in DebugContainer (created by MaybeNestedStack) in MaybeNestedStack (created by SceneView) in RCTView (created by View) in View (created by SceneView) in RNSScreen (created by AnimatedComponent) in AnimatedComponent in AnimatedComponentWrapper (created by InnerScreen) in Suspender (created by Freeze) in Suspense (created by Freeze) in Freeze (created by DelayedFreeze) in DelayedFreeze (created by InnerScreen) in InnerScreen (created by Screen) in Screen (created by SceneView) in SceneView (created by NativeStackViewInner) in Suspender (created by Freeze) in Suspense (created by Freeze) in Freeze (created by DelayedFreeze) in DelayedFreeze (created by ScreenStack) in RNSScreenStack (created by ScreenStack) in ScreenStack (created by NativeStackViewInner) in NativeStackViewInner (created by NativeStackView) in RNCSafeAreaProvider (created by SafeAreaProvider) in SafeAreaProvider (created by SafeAreaInsetsContext) in SafeAreaProviderCompat (created by NativeStackView) in NativeStackView (created by NativeStackNavigator) in PreventRemoveProvider (created by NavigationContent) in NavigationContent in Unknown (created by NativeStackNavigator) in NativeStackNavigator (created by App) in EnsureSingleNavigator in BaseNavigationContainer in ThemeProvider in NavigationContainerInner (created by App) in App (created by withDevTools(App)) in withDevTools(App) in RCTView (created by View) in View (created by AppContainer) in RCTView (created by View) in View (created by AppContainer) in AppContainer in main(RootComponent), js engine: hermes

我相当有信心问题出在我对 uuidv4() 功能的使用上,因为当我使用完全相同的代码但打印卡片的长度时仅使用 1, 2, 3... 作为 id 数字而不是 uuidv4() 的数组,它也会在每次按下时输出正确的数字和正确的增量。我希望在使用 uuidv4() 时得到相同的结果,并且自定义 卡的数量与 cards

的长度相匹配>

编辑:我提供了一些从我的移动设备上看到的错误屏幕截图 移动设备上的错误 移动设备上的错误继续

P粉043566314
P粉043566314

reply all (1)
P粉707235568

I couldn't figure out what the problem was, but thanks to some discussion in the comments I had the epiphany that something might not be properly linked with the uuid dependency. So I used a differentuuidpackage and it seemed to do the trick...for now

    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template
    About us Disclaimer Sitemap
    php.cn:Public welfare online PHP training,Help PHP learners grow quickly!