Есть экшн для получения задач, который принимает параметр (статус: в работе или нет) При подключении его в компоненте + подключении его в дочернем компоненте, поулчается бесконечный рендеринг. В родительском компоненте получаются активные задачи, в дочернем завершенные.
Вызываю в didMount
this.props.getTasks(false,this.props.client_name,'Завершена') - Родитель
this.props.getTasks(false,this.props.client_name,'В работе') - Дочерний
Map State To Props и вызов коннекта
function mapStateToProps(store) {
return {
clients:store.clients.clients,
complete_tasks:store.tasks.tasks,
is_loading:store.clients.is_loading
}
}
export default connect(mapStateToProps,{getClient,getTasks})(ClientCard)
Если оставить проверку только на clients.is_loading то данные родительского компонента перетираются данными дочернего. Если ставить проверку на загрузку задач + клиентов то бесконечный рендеринг
is_loading:store.clients.is_loading || store.tasks.is_loading ? true : false
Кажется, что проблема в изменении данных. Думаю, что происходит рендер каждый раз когда данные загружаются независимо дочерний компонент или родительский. если при рендере кинуть console.log(tasks.is_loading ) ,то будет true,false,true,false... и так бесконечно.
Мб их нужно получать все и выводить с .filter? Но костыльно получается, как по мне.
Action вот:
import {GET_TASKS} from "../constants/taskConstants";
import axios from 'axios'
//Получение активных задач
export function getTasks(date=false,client=false,status=false) {
let params = '?'
params +=
date
? 'date=' + date + '&'
: ''
params +=
client
? 'client_name=' + client + '&'
: ''
params +=
status
? 'status=' + status + '&'
: ''
return {
type: GET_TASKS,
payload: axios.get('http://localhost/tasks'+params),
}
}
Denis Bubnov прав, структура не верная. Переделал логику, все заработало нормально.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Подскажите пожалуйста как через Gooogle Apps script реализовать возможность отправки письма с дополнительного стороннего адреса? Смог найти только...
Всем привет! Скажите, в чём разница между функциями ParseFloat, ParseInt и Number? В результате этих функций строка преобразуется в число