Да, так что я не уверен, почему это работает, но как-то так? Я очень новичок, чтобы реагировать и просто хотел бы понять, что я делаю неправильно или как исправить. Вот мой фрагмент кода реакции:
this.state = { user_ledgers: [], paginator: { count: 0, page: 0, limit: 0 }, user: { id: this.props.match.params.user_id } };
this.handleCreate = this.handleCreate.bind(this);
this.handleUpdate = this.handleUpdate.bind(this);
this.handleChangePage = this.handleChangePage.bind(this);
}
componentDidMount() {
var user_id = this.state.user.id;
this.fetchData(user_id, 1);
}
fetchData = (user_id, page_number) => {
apiService.ledgersIndex(user_id, page_number)
.then(
paginated => {
this.setState({
user_ledgers: paginated.user_ledgers,
...........
var user_id в componentDidMount - это локальная переменная в этом коде, если мое понимание реакции правильно? Тем не менее, я попал в правильную конечную точку и каким-то образом получаю правильные данные. Как именно это работает? Вот мой совет:
function ledgersIndex(user_id, page_number) {
const requestOptions = {
method: 'GET',
headers: Object.assign({},
authorizationHeader(),
{ 'Content_type': 'application/json' })
};
return fetch(`${process.env.API_SERVER}/api/v1/admin/users/${user_id}/transactions?page=${page_number}`, requestOptions)
.then(handleResponse)
.then(paginated => {
return paginated;
});
}
Это приложение для реакции на рельсы, маршрут рельсов вложен
namespace :admin do
resources :users do
resources :user_ledgers, path: :ledgers, only: [:index, :create, :show, :update]
Смысл этого вопроса в том, чтобы просто понять, как я подбираю правильную конечную точку с помощью локальной переменной var? Чтобы сделать его не локально ограниченным, как мне сделать его доступным через мой компонент и apiService? Я знаю, что это работает, но я хотел бы сделать это правильно, и понимаю, почему это работает.