получение конкретной записи пользователя с использованиемactjs и redux - PullRequest
0 голосов
/ 02 ноября 2018

Код ниже работает отлично, получая всю информацию о пользователях из базы данных. Теперь я хочу получить
запись только для пользователя с именем Jmakkati , но я не могу заставить его работать.

Я инициализировал переменную User (Jmakkati) , а также передал ее в функцию getAll(user_rec), но она не работает. Если установить состояние согласно этому коду ниже, это покажет ошибку, которую пользователь не определил

this.state = {
            user_rec: {
                myname: 'jmarkatti',

            }
        };

вот основной код

import React from 'react';
import { Link } from 'react-router-dom';
import { connect } from 'react-redux';

import { userActions } from '../_actions';

class HomePage extends React.Component {


constructor(props) {
        super(props);

this.user_rec ='jmarkatti';

/*
   this.state = {
            user_rec: {
                myname: 'jmarkatti',

            }
        };
*/

    }


    componentDidMount() {
       this.props.dispatch(userActions.getAll(user_rec));
    }

    render() {
        const { user, users } = this.props;
        return (
            <div style={{background:'red'}} className="well">
                <h1>Welcome</h1>

                {users.error && <span className="text-danger">ERROR: {users.error}</span>}
                {users.items &&
                    <ul>
                        {users.items.map((user, index) =>
                            <li key={user.id}>
                                {user.firstName + ' ' + user.lastName}
                                {

                                    : <span> - <a >Welcome</a></span>
                                }
                            </li>
                        )}
                    </ul>
                }
                <p>

     Info.

                </p>



            </div>



        );
    }
}


function mapStateToProps(state) {
    const { users, authentication } = state;
    const { user } = authentication;
    return {
        user,
        users
    };
}


const connectedHomePage = connect(mapStateToProps)(HomePage);
export { connectedHomePage as HomePage };

Вот только User.service.js

function getAll(user_rec) {

    const data = {
        method: 'GET',
       // headers: authHeader()
       headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({user_rec})
    };
    return fetch(`${apiUrl}/record.php`, data).then(handleResponse)
     .then(user => {

            if (user) {
        //do something      
            }

        });
}

1 Ответ

0 голосов
/ 02 ноября 2018

Теперь он отлично работает. Я забыл передать переменную user_rec в файл user.action.js в соответствии с кодом ниже

function getAll(user_rec) {
    return dispatch => {
        dispatch(request(user_rec));

        userService.getAll(user_rec)
            .then(
                users => dispatch(success(users)),
                error => dispatch(failure(error.toString()))
            );
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...