如何在React native中创建组件映射

时间:2015-07-23 10:38:59

标签: javascript react-native

我想创建一个带有图像的滚动条,链接位于数组LINKS中。这是在课堂上完成的。

如果我只使用uri:"http://something.jpg"创建一个图像,它可以完美地工作,但是这里有一个" undefined不是一个对象"将导航器添加到ImageButton的行上的错误。

(我尝试了按钮导航器或直接onPress功能,但它们都不起作用。)

    {
         LINKS.map(function(val){
                return <ImageButton 
                uri={val}
                navigator={this.props.navigator}
                onPress={() => {
                        console.log(this.props.uri);
                        this.props.navigator.push({
                            id:'image',
                            uri:this.props.uri,
                            sceneConfig: Navigator.SceneConfigs.FloatFromRight,
                        });
                 }}
            />
          })
    }

也许只有我不了解array.map()的东西。

1 个答案:

答案 0 :(得分:2)

this的范围绑定在地图功能中:

LINKS.map(function(val){

}.bind(this));

有关bind的更多信息:

https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_objects/Function/bind

顺便提一下,如果您在此处使用了胖箭头,就像使用onPress回调一样,那么您已经避免了这个问题,因为this的范围是自动设置的。