我想调用一个包含带有来自不同组件的参数的函数的组件,例如: 我的组件(A)包含以下内容:
export default doSomething = (key,value) =>{
firebase.database().ref('ref/').update({
key:value
});}
我想在(B)和(C)两个组件中使用(A):
import A from 'Path';
render(){
var name={};
return (<Button onPress={()=><A key={name} value="Any Name"/>}/>)
}
首先,致电(A)的最佳方法是什么? 其次,像我称为name的调用键永远不会出错,也永远不会起作用。我做了console.log()并且输出是对象,那么如何正确调用key?
答案 0 :(得分:1)
默认情况下,您在A中的导出是一种方法,因此:
onPress={() => A(name, "AnyName")}
答案 1 :(得分:0)
doSomething
(A
)不是组件,而只是函数。另外,export default doSomething = ...
语法可能会出现问题,因为它需要事先定义doSomething
变量,但未显示。
如果key
不是属性名称,而是包含属性名称的变量,则应使用计算属性。
应该是:
export default (key, value) => {
firebase.database().ref('ref/').update({
[key]: value
});
}
并用作(另一个答案已经提到了这一点):
<Button onPress={() => A(name, "Any Name")}/>