отображение массива в componentDidUpdate: _Error: Действия должны быть простыми объектами - PullRequest
0 голосов
/ 16 февраля 2020

Я мог бы продвинуться в коде. А теперь я рассчитываю промежуточный итог. Я мог бы вычислить промежуточный итог первого элемента по деталям, но моя ошибка в componentDidUpdate.

В componentDidUpdate, если я выполню этот код,

        componentDidUpdate(prevProps, detail, index) {
           if (this.props.isSubtotal !== prevProps.isSubtotal) {
              this.props.dispatch(

               //NEED TO MAKE THE FOLLOWING LINE DYNAMIC AND NOT [0]
                 change('bill', `detail[0].subtotal`, this.props.isSubtotal)
                   );
                 }
                }

Работает без каких-либо проблем. Но если я выполню этот код:

      componentDidUpdate(prevProps, detail, index) {

          if (this.props.isSubtotal !== prevProps.isSubtotal) {

           this.props.dispatch(

                Object.keys(this.props.detailItem).map((Item,index) =>{

                       //Is dynamic this line?
                  change('bill', `detail[${index}].subtotal`, this.props.isSubtotal)

                })

              );
             }
              } 

У меня возникнет эта проблема: Ошибка: Действия должны быть простыми объектами. Используйте пользовательское промежуточное программное обеспечение для действий asyn c.

Проблема в синтаксисе, который я использую внутри this.props.dispatch. Как бы я сделал отображение объекта с динамическим c индексом внутри this.props.dispatch. Как я могу сделать динамический c индекс, а не [0]?

Мне нужно решить эту проблему. Мне действительно нужна помощь.

...