Экспортировать подключенную функцию Redux - это проблема связывания - PullRequest
0 голосов
/ 07 мая 2019

Я хочу экспортировать код, обновляющий мои данные, чтобы получить к нему доступ из любой части моего кода.Эта функция должна быть подключена к Redux для обновления Store после обновления данных.Для этого я создал файл «updateData.js» со следующим кодом:

// Redux
import { connect } from "react-redux"
import { ... } from "../redux/actions"

const mapStateToProps = state => ({ ... })
const mapDispatchToProps = dispatch => ({ ... })

const updateData = async () => {
  const { ... } = this.props
  const getURLs = [ "/getProjects/Active", ... ]
  const toRedux = [ addProjects, ... ]

  var promiseArray = []
    for (var i = 0; i < getURLs.length; i++) {
      const promise = getAsyncData(getURLs[i], toRedux[i])
      promiseArray.push(promise)
    }

    await Promise.all(promiseArray).then(() => {
      this.props.setUpdateOk(true)
    })
}

export default connect(
  mapStateToProps,
  mapDispatchToProps
)(updateData)

Вызывающий файл делает это:

import updateData from "./client/data"

class App extends Component {
  componentDidMount() {
    updateData()
  }

Но я получаю сообщение об ошибке:

TypeError: Невозможно установить свойство 'props' из неопределенного

391 |* / 392 |393 |функция PureComponent (реквизиты, контекст, средства обновления) {

394 |this.props = props;|^
395 |this.context = context;// Если у компонента есть строковые ссылки, позже мы назначим другой объект.396 |397 |this.refs = emptyObject;

Кажется, что "this" не определено.

Я подозреваю, что проблема this / binding, но не могу понять, как ее исправить ...

Спасибо за помощь.

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