【发布时间】:2019-04-29 15:39:53
【问题描述】:
我有一个带有 RN 组件的文件PageRegistration:
const { registerUser } = require('../../db/db');
export default class PageRegistration extends Component {
constructor(props) {
super(props);
this.state = {
...
}
}
regUser = () => {
...
registerUser(user);
}
render() {
return(
<View style = {pageRegistrationStyle.container}>
...
<TouchableOpacity onPress = {this.regUser}
style = {pageRegistrationStyle.registrButton}>
<Text style = {pageRegistrationStyle.registrButtonText}>
ADD USER
</Text>
</TouchableOpacity>
</View>
)
}
}
还有一个文件db:
const firebase = require("firebase");
const config = {
...
};
firebase.initializeApp(config);
const db = firebase.database();
const registerUser = (user) => {
db.ref('userData').set({
...
});
};
export default registerUser;
由于某种原因,当我将函数 registerUser() 从 db 文件导入文件 PageRegistration 时,我收到错误 "Objects作为 React 子级无效(发现:带键的对象 ($$typeof, type, key, ref ...)。如果您要渲染子级集合,请改用数组。”
怎么了?我错过了什么?有人可以帮帮我吗?
版本:
问题似乎与 db 文件的内容有关。特别是 - firebase
导入的第一行【问题讨论】:
-
不确定这是否是您的问题,但
const { registerUser }应该是const registerUser,因为它是默认导出。 -
不幸的是它没有帮助
-
错误的导入不会导致这种情况;错误通常有行号,它指向哪一行?您拥有的代码有效(如果我将其更改为网络反应:codesandbox.io/s/qlmm0rrzqj)另外,这似乎相关:stackoverflow.com/questions/50555275/…
-
它指向.../node_modules/react-native/Libraries/Renderer/oss/ReactNativeRenderer-dev.js 中的几行:9616:6 (10679:31, 11114:6, 11612 :6 等)。第一个子错误调用“throwOnInvalidObjectType”
-
显示所有你的标记。问题很可能是您有一些 JSX 表达式返回不是 React 元素的内容。如果没有看到引发错误的文件中的所有标记,将很难调试
标签: javascript node.js firebase react-native firebase-realtime-database