В настоящее время у меня есть приложение типа панели инструментов, которое извлекает сообщения из нескольких слабых каналов и отображает их без каких-либо ответов или смайликов. Вы можете изменить канал, который хотите просмотреть.
В настоящее время родительское состояние выглядит примерно так:
state = {
selected_channel: window.localStorage.getItem( 'last-slack-ch' ) || 'ABC123'
selected_date: new Date(),
channels: {},
items: [],
slack_users: {},
settings: {
seconds_per_slack_messages_pull: 1
},
atBottom: false
}
После извлечения сообщений ... или items
, я передаюэтот массив в компонент ItemsContainer
.
Это метод рендеринга в ItemsContainer
render() {
return (
<div className="items-container">
{
this.props.items.length > 0 ?
<ReactCSSTransitionGroup
transitionName='item'
transitionEnterTimeout={500}
transitionLeaveTimeout={500}>
{
this.props.items.map( t => {
return (
<Item
key={ t.usr + '_' + t.ts }
task={ t }
user={ this.props.slack_users[ t.usr ] }
settings={ this.props.settings }
/>
)
} )
}
</ReactCSSTransitionGroup>
:
<p className='nothing-found'>No items were found in channel: { this.props.selected_channel }</p>
}
</div>
);
}
Проблема, с которой я сейчас сталкиваюсь , заключается в том, что существуют определенныесобытия, которые я не хочу иметь переход. Вещи как: Начальная загрузка страницы и переключение каналов.
Я попытался передать некоторые реквизиты на ItemsContainer
, который определит, какое значение перехода nameName на ReactCSSTransitionGroup
... ... но на самом деле все работает не слишком хорошо.
Кто-нибудь имеет опыт работы с этим?