Наиболее распространенным подходом является использование функции connect
из библиотеки react-redux
.Это HoC, который подписывается на изменения состояния.Взгляните на эту библиотеку, кроме того, она позволяет привязать создателей ваших действий к отправке, что дает вам возможность отправлять ваши действия из компонента.
Вы можете использовать ее следующим образом:
<code>import React from 'react';
import { connect } from 'react-redux';
const MyComponent = ({ data, error }) => (
<div>
{error && (
<span>Error occured: {error}</span>
)}
{!error && (
<pre>{JSON.stringify(data, null, 2)}
)} );const mapStateToProps = (state) => ({data: state.appReducer.data, error: state.appReducer.error});экспортировать соединение по умолчанию (mapStateToProps) (MyComponent);
Вы можете использовать условный рендеринг внутри вашего jsx, как я показал выше, или использовать выражение защиты, например:
<code>const MyComponent = ({ data, error }) => {
if (error) {
return (
<span>Error occured: {error}</span>
);
}
return (
<pre>
{JSON.stringify(data, null, 2)}
);}