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

问题描述 投票:0回答:2

我正在尝试将Devise数据传递给React组件。 Devise设置正确,但我无法弄清楚如何将current_user信息作为props传递给react_component。 React props 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>
        );
    }
});
ruby-on-rails reactjs devise react-rails
2个回答
0
投票

试试props: {current_user: current_user}而不是props: {current_user: @current_user}


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>
        );
    }
});
© www.soinside.com 2019 - 2024. All rights reserved.