反应砌体返回undefined

时间:2017-04-27 06:17:59

标签: javascript reactjs

我正在使用插件react-masonry-component尝试将其转换为es6但我似乎无法通过元素的渲染,因为它总是undefined

以下是我目前的代码。我错过了一些明显的东西吗?

import React, {Component} from 'react';
import Masonry from 'react-masonry-component';

const masonryOptions = {
  transitionDuration: 0
};

class MasonryWidget extends Component {
    render() {
        const childElements = this.props.elements.map(function(element){
           return (
                <li className="image-element-class">
                    <img src={element.src} />
                </li>
            );
        });

        return (
            <Masonry
                className={'my-gallery-class'}
                elementType={'ul'}
                options={masonryOptions}
                disableImagesLoaded={false}
                updateOnEachImageLoad={false}
            >
                {childElements}
            </Masonry>
        );
    }
};

export default MasonryWidget;

1 个答案:

答案 0 :(得分:0)

map方法实际上是在数组上调用的Array.map方法。

在你的情况下,如果没有设置this.props.elements将是未定义的。

过去我遇到过类似的问题,这个SO答案有助于澄清它:

https://stackoverflow.com/a/32498429/5760421