首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在reactjs中发布未排序列表的呈现

在reactjs中发布未排序列表的呈现
EN

Stack Overflow用户
提问于 2015-10-31 16:12:22
回答 1查看 100关注 0票数 0

我需要一个反应专家来帮我解决这个问题。

我正在学习react,作为第一次尝试,我想创建一个组件,它表示两个选择框,一个用于不同的货币,另一个用于应用程序中允许的不同语言。

因此,我创建了一个组件"ListItemWrapper“,它表示一个li html元素,"LanguageCurrencySwitcher”表示这两个复选框。

对服务器获取货币和语言的调用运行良好,信息被正确检索。

一旦进入客户端,我需要遍历两个列表来创建"li“html元素。在迭代期间,如果我使用“console.log(结果);”输出值,则这些值将正确地打印在控制台中。但是,组件ListItemWrapper没有显示,因此列表没有填充,但是如果我试图在循环之外显示ListItemWrapper,则"li“元素将被正确显示。

我遗漏了什么?有人能告诉我怎么解决这个问题吗?

守则如下:

代码语言:javascript
复制
var ListItemWrapper = React.createClass({

render: function () {
    console.log("title:" + this.props.title);
    return <li onClick={this.handleClick}><a href="#">{this.props.title}</a></li>
},

handleClick: function (event) {
    console.log(event.target);
}
});


var LanguageCurrencySwitcher = React.createClass({


getInitialState: function () {

    return {data: {currencies: [], languages: []}};

},

render: function () {
    return <ul className="switchers">
        <li>$
            <ul className="dropdown">
                {
                    this.state.data.currencies.forEach(function(result){
                        console.log(result);
                        <ListItemWrapper title={result} />
                    })
                }
            </ul>
        </li>
        <li>En
            <ul className="dropdown">
                {
                    this.state.data.languages.forEach(function(result){
                        console.log(result);
                        <ListItemWrapper  title={result} />
                    })

                }
            </ul>
        </li>
    </ul>
},


componentDidMount: function () {
    $.get('/std/rest/data/switchers', function (result) {
        console.log(result);
        if (this.isMounted()) this.setState({data: result});
    }.bind(this));
},




});


ReactDOM.render(
<LanguageCurrencySwitcher/>,
document.getElementById('language-currency-switcher')
);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-31 16:18:53

当您应该使用.forEach()时,您正在使用.map()

你应该做的

代码语言:javascript
复制
this.state.data.currencies.map(function(result){
  return <ListItemWrapper title={result} />;
})

阵列::地图

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33453705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档