Я пытаюсь обновить список, когда мой магазин приставок меняется, но по какой-то странной причине это не так. Я должен вручную обновить страницу, чтобы увидеть мои изменения. Вот фрагмент моего компонента List и rowRenderer.
<InfiniteLoader isRowLoaded={this._isRowLoaded} loadMoreRows={this._loadMoreRows} rowCount={visibleRequest.length} > {({ onRowsRendered, registerChild }) => ( <AutoSizer> {({ height, width }) => ( <List ref={registerChild} className="List" height={height} rowHeight={listRowHeight} onRowsRendered={onRowsRendered} rowCount={rowCount} rowRenderer={this._rowRenderer} width={width} /> )} </AutoSizer> )} </InfiniteLoader> _rowRenderer = ({ index, key, style }) => { const { loadedRowsMap, selected } = this.state; const row = this.getDatum(index); let content; if (loadedRowsMap[index] === STATUS_LOADED) { content = row; } else { content = ( <div className="placeholder" style={{ width: _.random(100, 200) }} /> ); } return ( <PendingChat key={key} content={content} style={style} row={row} {...this.props} /> ); };
Да, я столкнулся с той же проблемой. Это потому, что ссылки на ваши объекты не меняются, когда вы делаете
const row = this.getDatum(index); let content; if (loadedRowsMap[index] === STATUS_LOADED) { content = row; }
Взгляните на неизменность .