Реквизиты от состояния перезаписывают реквизиты от родителя, используя React-Redux? - PullRequest
0 голосов
/ 05 марта 2020

При использовании React + Redux родительские реквизиты перезаписывают реквизиты из состояния или реквизиты из состояния перезаписывают реквизиты из родительских компонентов (это если имена реквизитов cla sh)?

interface OwnProps {
  //The type for the props provided by the parent component
}

function mapDispatch(dispatch: AppDispatch<any>) {
  return { dispatch };
}

function mapState(state: RootState) {
  return {
    s: {
      // props from state are namespaced onto s
    }
  };
}

type StateProps = ReturnType<typeof mapState>;
type DispatchProps = ReturnType<typeof mapDispatch>;
type AllProps = StateProps & DispatchProps & OwnProps;

const ResetPassword: React.FC<AllProps> = (p) => {
  ///
}

1 Ответ

1 голос
/ 08 марта 2020
const Component = ({ testProp }) => (
  <div>testProp: {testProp}</div>
);

const mStP = () => ({
  testProp: 'testProp from mapStateToProps',
});

const ConnectedComponent = connect(mStP)(Component);

Затем сделайте это где-нибудь в компоненте вашего приложения:

<ConnectedComponent testProp="testProp from parent component" />

Как видите, mapStateToProps определяет значение testProp. Если вы хотите сохранить значение, переданное родительским компонентом, просто не помещайте testProp в объект, возвращаемый mapStateToProps.

Если вы не используете второй аргумент ownProps в mapStateToProps, все реквизиты, переданные ConnectedComponent, по-прежнему находятся там - Redux не мешает поведению React по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...