我有一个带有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;
由于某些原因,当我从 db 文件将函数 registerUser()导入文件 PageRegistration 时,出现错误“对象不能作为React子项有效(找到:带键的对象($$ typeof,类型,键,ref ...)。如果要渲染子项集合,请改用数组。” >
怎么了?我错过了什么?有人可以帮我吗?
版本:
问题似乎与 db 文件的内容有关。特别是-导入 firebase
的第一行答案 0 :(得分:0)
有两种导出函数的方法,默认和常规。
在db中,您将导出默认值,因此在导入函数时不应使用方括号。 这应该起作用。
const registerUser = require('../../ db / db');
答案 1 :(得分:0)
将Firebase降级为4.9.1版本后,该问题已解决