javascript - 如何在 React Native 中创建组件映射

标签 javascript react-native

我想创建一个带有图像的滚动条,链接在数组 LINKS 中。这是在类里面完成的。

如果我只使用 uri:"http://something.jpg" 制作一张图片,它会完美地工作,但这里在我添加的行上出现“undefined is not an object”错误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() 有一些不理解的地方。

最佳答案

在 map 函数中绑定(bind) this 的范围:

LINKS.map(function(val){

}.bind(this));

关于bind的更多信息:

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

顺便说一下,如果您像在 onPress 回调中那样在这里使用粗箭头,您就可以避免这个问题,因为 this 的范围是自动设置的。

关于javascript - 如何在 React Native 中创建组件映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31584956/

相关文章:

javascript - 以函数式编程风格存储值

php - 支持节假日的日历库

Javascript - 仅当单词周围有空格时才使用正则表达式替换单词

javascript - 这些未定义的检查在行为上是否相同?

javascript - React Context Consumer 不会使用react性改变或重新渲染

javascript - React-native:超出最大更新深度并将箭头函数作为常规函数调用

reactjs - ReactJS 中没有“Access-Control-Allow-Origin”

ios - 从 swift 类方法打开 Viewcontroller(到 Storyboard)- React Native

android - React Native AIDL 缺失

javascript - 如何优化这个 jquery 循环的执行时间?