我是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 };
答案 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 };
希望有帮助。