Как передать данные устройства в компонент React?

Я пытаюсь передать данные Devise компоненту React. Devise настроен правильно, но я не могу понять, как передать информацию current_user в качестве реквизита для моего response_component. Реактивный реквизит 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 ответа

Пытаться props: {current_user: current_user} вместо props: {current_user: @current_user}

Это должно быть похоже на следующее

<%= 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>
        );
    }
});
Другие вопросы по тегам