如何将设计数据传递到React组件?

时间:2018-09-07 04:44:03

标签: ruby-on-rails reactjs devise react-rails

我正在尝试将Devise数据传递给React组件。 Devise设置正确,但是我不知道如何将current_user信息作为道具传递给我的react_component。 React道具current_user保持日志不存在。我正在使用React v5.1和React-Rails v2.4。

index.html.erb

<%= react_component 'Main', props: {current_user: @current_user} %>

_main.js.jsx

var Main = createReactClass({
    render () {
        return (
            <div>
                {this.props.current_user.id}
                <Header />
                <Body />
            </div>
        );
    }
});

2 个答案:

答案 0 :(得分:0)

尝试用props: {current_user: current_user}代替props: {current_user: @current_user}

答案 1 :(得分:0)

应该类似于以下内容

<%= react_component 'Main', props: {current_user: current_user.to_json} %>

反面

var Main = createReactClass({
    getInitialState() {
    return {
      currentUser: this.props.current_user
    };
    render () {
        return (
            <div>
                {this.state.currentUser.id}
                <Header />
                <Body />
            </div>
        );
    }
});