Как получить ссылку на функцию отправки и создатель действий в качестве реквизита внутри любого подключенного компонента - PullRequest
1 голос
/ 19 апреля 2019

мы получаем функцию ref отсылки в нашем подключенном компоненте, но когда мы используем аргумент создателя действия в нашей функции connect, она не будет возвращать функцию диспетчеризации, как ранее.

Случай 1. Только спервый параметр функции соединения.

import React, { Component } from 'react';
import { connect } from 'react-redux';

class App extends Component {
  render() {
    console.log('this.props',this.props)
    return (
      <div className="App">
        App
      </div>
    );
  }
}
const mapStateToProps = (state) => {
  return state
}
export default connect(mapStateToProps)(App);

Случай 2. Также используйте второй параметр соединения

import React, { Component } from 'react';
import { connect } from 'react-redux';
import { setData } from './actions'

class App extends Component {
  render() {
    console.log('this.props',this.props)
    return (
      <div className="App">
        App
      </div>
    );
  }
}
const mapStateToProps = (state) => {
  return state
}
export default connect(mapStateToProps,{ setData })(App);

Я ожидаю, что во втором случае функция отправки ref также должнабыть перечисленным в реквизитах, но это не произойдет.

Вывод на консоль: случай 1. Диспетчер показывает в реквизитах https://prnt.sc/ne0fpb

случай 2. Нет отправки в реквизитах https://prnt.sc/ne0djb

Поэтому, пожалуйста, помогите мне, почему я не получаю функцию отправки в случае 2?

1 Ответ

1 голос
/ 19 апреля 2019

Второй connect параметр (mapDispatchToProps) по умолчанию имеет значение dispatch => ({ dispatch }). Значение по умолчанию не применяется, когда оно указано.

Поскольку mapDispatchToProps используется для предоставления всех необходимых функций диспетчера в качестве реквизита компонента, dispatch prop не требуется.

...