Код особо не разбирал. Скажу лишь, что вам компонент лучше разбить на несколько:
render () {
const { match: { url } } = this.props;
return (
<Switch>
<Route exact path={url} content={Tweets} />
<Route exact path={url + '/with-replies'} content={WithReplies} />
<Route exact path={url + '/media'} content={Media} />
</Switch>
)
}
Вместо:
render() {
return someCondition ? (
<Component
prop1={a.prop1}
prop2={a.prop2}
prop3={a.prop3}
prop4={a.prop4}
prop5={a.prop5}
/>
) : (
<Component
prop1={b.prop1}
prop2={b.prop2}
prop3={b.prop3}
prop4={b.prop4}
prop5={b.prop5}
/>
);
}
Лучше:
render() {
const c = someCondition ? a : b;
return (
<Component
prop1={c.prop1}
prop2={c.prop2}
prop3={c.prop3}
prop4={c.prop4}
prop5={c.prop5}
/>
);
}
Всместо :
render() {
return (
<Wrapper>
{condition1 &&
condition2 &&
condition3 &&
condition4 && (
<Component />
)}
</Wrapper>
)
}
Лучше:
render() {
const shouldShowComponent = condition1 && condition2 && condition3 && condition4;
return (
<Wrapper>
{shouldShowComponent && <Component />}
</Wrapper>
);
}