反应本机|在组件之间传递数据

时间:2020-01-18 00:19:39

标签: react-native

我是React Native的初学者。我想在两个组件之间传递数据。我收到以下错误:

TypeError:未定义不是对象(正在评估“ params.title”

App.js

import React from 'react';
import TabBar from './components/TabBar';

export default function App() {
  return (
    <TabBar title="Hall Building"/>
  );
}

TabBar.js

import React, { useState } from 'react';
import { Text } from 'react-native';

export default function TabBar({ params }){
    const [tabContent] = useState([
        {
            title: params.title,
        }
    ])
    return(
        <Text>
            { tabContent.title }
        </Text>
    );
}

export { TabBar };

2 个答案:

答案 0 :(得分:0)

TabBar组件中有几处您做错了。

TabBar中,您正在破坏属性params,但是您的属性称为title。您要么必须删除花括号,要么将其重命名为title。如果将参数重命名为标题,则可以删除params.并仅保留title。如果选择删除花括号,则可以保持原样。

然后,您还尝试访问tabContent.title,但是tabContent是包含对象的数组。您要么必须删除方括号,然后将一个对象作为参数传递给useState,否则可以像第tabContent[0].title这样获得第一个索引来访问标题。

答案 1 :(得分:0)

将TabBar更改为此:

import React, { useState } from 'react';
import { Text } from 'react-native';

export default function TabBar({ title }){
    const [tabContent] = useState(title)
    return(
        <Text>
            { tabContent }
        </Text>
    );
}

export { TabBar };

希望有帮助。