Javascript 分配给属性的函数()未在react native中执行

Javascript 分配给属性的函数()未在react native中执行,javascript,reactjs,react-native,react-redux,Javascript,Reactjs,React Native,React Redux,我想根据Redux存储中的值显示一个按钮。我要动态传递的按钮属性 const state = appStore.getState(); let opts = {}; if(state.bottomBar.tabName === 'TEST') { opts['btn1'] = `${this.btnText()}`; // Returns text opts['onBtn1Press'] = `${ () => this.addToTest() }`; // Returns fu

我想根据Redux存储中的值显示一个按钮。我要动态传递的按钮属性

const state = appStore.getState();
let opts = {};

if(state.bottomBar.tabName === 'TEST') {
  opts['btn1'] = `${this.btnText()}`; // Returns text
  opts['onBtn1Press'] = `${ () => this.addToTest() }`; // Returns function()
} else {
  opts['btn1'] = 'Testing';
  opts['onBtn1Press'] = `${ () => this.doSomething()}`;
}
我已通过以下属性:

Object {
  "btn1": "TEST",
  "onBtn1Press": "function () {
            return _this4.addToTest();
          }",
}

在UiContainer组件中,另一个页脚组件包含以下代码:

<TouchableOpacity onPress={() => onBtn1Press()}  disabled={Btn1Disabled} >
  <View >                        
   <Text >{btn1}</Text>
  </View>
</TouchableOpacity>
当我点击按钮时,它显示_onBtn1Press不是一个功能

我怎样才能修好它

问候,

Saneesh.

模板

`${() => this.addToTest()}`
总是返回一个字符串,这就是为什么在打印值时它周围有一个字符串

您想改为定义一个函数

if(state.bottomBar.tabName === 'TEST') {
  opts['btn1'] = `${this.btnText()}`; // Returns text
  opts['onBtn1Press'] = () => this.addToTest(); // Returns function()
} else {
  opts['btn1'] = 'Testing';
  opts['onBtn1Press'] = () => this.doSomething();
}

非常感谢你!aways返回一个字符串这是关键!如果可能的话,请考虑根据问题更新标题。