Size: a a a

React — русскоговорящее сообщество

2021 January 27

И

Иван in React — русскоговорящее сообщество
Владимир Карпов

class ServiceReal {
...
getOrders(myFetch){
 let {data, error, loading}=  myFetch("/api/real-data/");// реальные данные

}
}
class ServiceDummy{
...
getOrders(myFetch){
retutn [{id:1, status: 2, order_name:"Заказ 20231"}];// просто массив
}

}чтобы дальше вот так делать
let service = isRealMode? new ServiceReal (): new ServiceDummy();
function OrderComponent(){
let data = service.getOrders(useFetch); // если в тестовом режиме то, данные получаем из массива если настоящий то из сервера
return (<div>{

data.map((item)=>{

<span key={item.id}>{item.order_name}</span>
});
}</div>);

}
class ServiceReal {
getOrders() {
 const promise = fetch(“/api/real-data/")
 return promise
}
}

class ServiceDummy {
 getOrders() {
    const data = [{id:1, status: 2, order_name:"Заказ 20231"}];
    return Promise.resolve(data)
 }
}

const service = …

const Component = () => {
 const {data, error, loading} = useFetch(service.getOrders)
}
источник

ВК

Владимир Карпов... in React — русскоговорящее сообщество
ну то есть, вы предлагаете внутрь не кидать ничего
источник

И

Иван in React — русскоговорящее сообщество
Владимир Карпов
ну то есть, вы предлагаете внутрь не кидать ничего
предлагаю описывать реакт-логику в компонентах и хуках реакта, а сервисную логику писать на нативном джаваскрипте – на промисах
источник

ВК

Владимир Карпов... in React — русскоговорящее сообщество
спасибо
источник

ВК

Владимир Карпов... in React — русскоговорящее сообщество
все понял)
источник

И

Иван in React — русскоговорящее сообщество
а вообще вместо мазафак с сервисами посмотри на miragejs. занятная штука
источник

ВК

Владимир Карпов... in React — русскоговорящее сообщество
ок, кароч, не внедрять туда хрень
источник

ВК

Владимир Карпов... in React — русскоговорящее сообщество
спасибо
источник

ВК

Владимир Карпов... in React — русскоговорящее сообщество
а типо он если включен то, будет на тестовые идти, если нет, то настоящий я правильно понял ?
источник

И

Иван in React — русскоговорящее сообщество
Владимир Карпов
а типо он если включен то, будет на тестовые идти, если нет, то настоящий я правильно понял ?
да

const server = new Server(…)
fetch(‘/api’) // будет перехвачен и обработан на фронте
server.shutdown()
fetch(‘/api’) // уйдёт запрос на бэк
источник

T

Triada in React — русскоговорящее сообщество
Всем привет.
Кто-н знает what is the proper way изменять parent state from a child?
Я прокидываю setState, но он очень медленно работает
источник

ВК

Владимир Карпов... in React — русскоговорящее сообщество
источник

ВК

Владимир Карпов... in React — русскоговорящее сообщество
спасибо
источник

A

Andrew in React — русскоговорящее сообщество
Triada
Всем привет.
Кто-н знает what is the proper way изменять parent state from a child?
Я прокидываю setState, но он очень медленно работает
коллбек
стор
контекст
источник

ВК

Владимир Карпов... in React — русскоговорящее сообщество
+
источник

A

Andrew in React — русскоговорящее сообщество
Triada
Всем привет.
Кто-н знает what is the proper way изменять parent state from a child?
Я прокидываю setState, но он очень медленно работает
в плане очень медленно работает?
источник

T

Triada in React — русскоговорящее сообщество
А можно примеры?
Я пробовал использовать коллбек, но приложение выдавало ошибку что ререндеров больше чем в предыдущий раз, или что-то такое
источник

T

Triada in React — русскоговорящее сообщество
стор
=ты имеешь в виду редакс?
источник

AG

Adel Gilyazeev in React — русскоговорящее сообщество
Triada
Всем привет.
Кто-н знает what is the proper way изменять parent state from a child?
Я прокидываю setState, но он очень медленно работает
он не может медленно работать.... У тебя либо ошибка в логике, либо огромные вычесления
источник

A

Andrew in React — русскоговорящее сообщество
коллбек - передать пропсом функцию, которая в родителе изменит стейт
стор  - закинуть экшен в стор и обновить в редюсере данные
контекст - использовать функцию для обновления параметра в контексте
источник