const breadCrumbsItems = [
{
title: 'Home',
path: '/',
},
{
title: 'Products',
path: '/products',
},
{
title: 'Iphone 6s Black',
},
];
<BreadCrumbs items={breadCrumbsItems} />
<Wrapper>
{items.map((item, i) => (
<BreadCrumbsItem
key={item.path}
active={i === items.length - 1}
path={item.path}
>
{item.title}
</BreadCrumbsItem>
)}
</Wrapper>
<BreadCrumbs>
<BreadCrumbs.Item path="/">Home</BreadCrumbs.Item>
<BreadCrumbs.Item path="/products">Products</BreadCrumbs.Item>
<BreadCrumbs.Item active>Iphone 6S Black</BreadCrumbs.Item>
</BreadCrumbs>
class SomePage extends React.Component {
componentDidMound() {
this.props.fetchSomeData();
}
handleSomeEvent = () => {
doSomething();
};
render() {
const { data } = this.props;
return <SomeCommonComponent data={data} onSomeEvent={this.handleSomeEvent} />;
}
}
class SomeOtherPage extends React.Component {
componentDidMound() {
this.props.fetchSomeOtherData();
}
handleSomeEvent = () => {
doSomethingOther();
};
render() {
const { data } = this.props;
return <SomeCommonComponent data={data} onSomeEvent={this.handleSomeEvent} />;
}
}
class CalendarDay extends Component {
state = { data: [] };
comonentDidMount() {
// тут делаем запрос к БД и передаем данные в состояние
}
// ...
}
console.log(JSON.stringify(db));
проблема в том что сейчас есть инфа по всем годам например. ткунули в год, подложили другую сущность, котрая благополучно храниться в памяти и опля. Когда там этого дела не будет, нужно чтобы ссылка запускала фетч.
подкладывать промисы в котрых ифить если есть отдать если нет, сходить туда то? тут я получиться скорее всего намешаю заные архитектурные слои в кучу
как рендерить в асинхронном режиме? в англяре был async pipe . как это сделать в рекате чтобы на неделю не улететь в оверинженирирг не знать.
class Example extends React.Component {
state = { isFetching: false, error: null, data: [] };
// ...
render() {
if (isFetching) return <Preloader />;
if (error) return <Error error={error} />;
return data.map(/ ... /);
}
}
Как правильно и корректно делать релейшены сущностей?
{
posts: [],
linked: {
comments: {},
users: {},
tags: {},
},
}
export default reduxForm({ validate })(ChatForm);
<ChatForm form={name} />
const mapStateToProps = (state, ownProps) => ({
form: ownProps.name,
});
export default compose(
connect(mapStateToProps),
reduxForm({ validate }),
)(ChatForm);
<ChatForm name={name} />
<Route path="/some-path/:color" component={SomeComponent} />
class SomeComponent extends React.Component {
render() {
const { match, elements } = this.props;
const { color } = match.params;
const filteredElements = elements.filter(el => el.color === color);
// ...
}
}