无法从render方法返回有效的React元素

时间:2016-11-24 08:11:59

标签: reactjs

我不知道为什么我的React组件无法正确呈现。这对我来说都很好看。也许其他人可以指出我错过的东西。

CefRefPtr<CefCookieManager> manager =
        CefCookieManager::GetGlobalManager(nullptr);
DCHECK(manager.get());
CefCookie cookie;
        CefString(&cookie.name).FromString(key);
        CefString(&cookie.value).FromString(value);
        CefString(&cookie.domain).FromString(domain);
        CefString(&cookie.path).FromString("/");
        cookie.has_expires = true;
        cookie.expires.year = 2099;
        cookie.expires.month = 1;
        cookie.expires.day_of_week = 1;
        cookie.expires.day_of_month = 1;
        std::string url = "https://" + domain;//eg:".stackoverflow.com"
        //manager->SetCookie(url, cookie, nullptr);
        CefPostTask(TID_IO, NewCefRunnableMethod(manager.get()
            , &CefCookieManager::SetCookie
            , CefString(url.c_str()), cookie, nullptr));

这是错误

  

bundle.js:9044 Uncaught Error:Voting.render():一个有效的React元素   必须返回(或null)。您可能已经返回undefined,一个数组   或其他一些无效的对象。(...)

当我从render()方法返回一个带有Hello World的简单div时,它返回正常并显示。我将函数调用的返回记录到renderButton方法,如下所示:

import React, {Component} from 'react';

class Voting extends Component {

    renderButton(item) {
        return (
            <button type='button' className='btn btn-primary'>
                {item}
            </button>
        )
    }

    render() {
        return this.props.pair.map(item => {
            return(
                <div>
                    {this.renderButton(item)}
                </div>
            )
        });
    }
}

export default Voting;

我得到一个有道具的物品。虽然我不确定是否应该返回一个对象?

1 个答案:

答案 0 :(得分:2)

您需要将回报换行于 div ,组件应该只返回一个元素。

position: relative !important;
margin: 0 auto !important;
float: none !important;
display: block !important;