Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从不同的组件调用默认函数_Javascript_Reactjs_React Native - Fatal编程技术网

Javascript 如何从不同的组件调用默认函数

Javascript 如何从不同的组件调用默认函数,javascript,reactjs,react-native,Javascript,Reactjs,React Native,我想调用一个包含函数的组件,该函数的参数来自不同的组件,如:- 我的(A)部分包含以下内容: export default doSomething = (key,value) =>{ firebase.database().ref('ref/').update({ key:value });} 我想在两个组件(B)和(C)中使用(A),比如: 从“路径”导入文件; render(){ var name={}; 返回(}/>) } 首先,什么是称呼(A)的最佳方式? 其次,像我调

我想调用一个包含函数的组件,该函数的参数来自不同的组件,如:- 我的(A)部分包含以下内容:

export default doSomething = (key,value) =>{
firebase.database().ref('ref/').update({
    key:value
});}
我想在两个组件(B)和(C)中使用(A),比如:

从“路径”导入文件;
render(){
var name={};
返回(}/>)
}
首先,什么是称呼(A)的最佳方式?
其次,像我调用name那样调用key从来没有出现过错误,也从来没有起过作用。我做了console.log(),输出是object,那么如何正确调用key呢?

默认情况下,您在A中的导出是一个方法,因此:

onPress={() => A(name, "AnyName")}
doSomething
A
)不是一个组件,只是一个功能。另外,
export default doSomething=…
语法可能存在问题,因为它需要事先定义
doSomething
变量,但未显示该变量

如果
不是属性名,而是包含属性名的变量,则应使用computed属性

应该是:

export default (key, value) => {
    firebase.database().ref('ref/').update({
        [key]: value
    });
}
并用作(另一个答案已经提到了这一点):

A(名称,“任意名称”)}/>

doSomething
不是组件。您不能返回onPress属性中的组件,这是第一个问题以及如何调用键?我更新了答案,但我不确定这是否是您要问的问题
var name={}
在这种情况下不起作用。它应该包含属性的名称。var name={}不会像这样工作,但它像var name='name'那样作为字符串工作,谢谢
export default (key, value) => {
    firebase.database().ref('ref/').update({
        [key]: value
    });
}
<Button onPress={() => A(name, "Any Name")}/>