React Native:将字符串作为函数传递
React native: pass string as function
Actions 允许我通过按钮加载页面。所以我会有例如'page1' 作为一个键(这是一个函数),我可以将其应用于 Actions.page1,它会导航到该页面。但是,在这里我只得到 this.props.lec 的字符串,它包含与我想要的 key/funcion 相同的字符。因此,在构建时得到错误消息:'category is not a function (evaluating '_reactNativeFlux.Actions.a({id: this.props.id, title: this.props.title})'。所以我相信它不会工作是因为它是一个字符串而不是一个函数。那么我如何将它作为一个函数呢?
var a = this.props.lec;
_onPress() {
Actions.a({id: this.props.id, title: this.props.title});
}
像使用数组一样使用方括号。
var obj = {
something: 'ok'
}
var key = 'something';
console.log( obj[ key ] ) ==> 'ok'
正如本所说,您将需要使用方括号。但是,您还需要传递参数。
正确的方法是:
const { id, lec, title } = this.props; /* added for simplicity */
Actions[lec].call(undefined, { id, title });
Actions 允许我通过按钮加载页面。所以我会有例如'page1' 作为一个键(这是一个函数),我可以将其应用于 Actions.page1,它会导航到该页面。但是,在这里我只得到 this.props.lec 的字符串,它包含与我想要的 key/funcion 相同的字符。因此,在构建时得到错误消息:'category is not a function (evaluating '_reactNativeFlux.Actions.a({id: this.props.id, title: this.props.title})'。所以我相信它不会工作是因为它是一个字符串而不是一个函数。那么我如何将它作为一个函数呢?
var a = this.props.lec;
_onPress() {
Actions.a({id: this.props.id, title: this.props.title});
}
像使用数组一样使用方括号。
var obj = {
something: 'ok'
}
var key = 'something';
console.log( obj[ key ] ) ==> 'ok'
正如本所说,您将需要使用方括号。但是,您还需要传递参数。
正确的方法是:
const { id, lec, title } = this.props; /* added for simplicity */
Actions[lec].call(undefined, { id, title });