Реагировать Родное состояние не обновляется - PullRequest
1 голос
/ 16 января 2020

Я хочу обновить состояние при нажатии кнопки

 this.state = {
              legend: {
                enabled: true,
                textSize: 14,
                form: 'CIRCLE',
                horizontalAlignment: "RIGHT",
                verticalAlignment: "CENTER",
                orientation: "VERTICAL",
                wordWrapEnabled: true
              },
              data: {
                  dataSets: [{
                  values: [{value: 45, label: 'Sandwiches'},
                  {value: 21, label: 'Salads'},
                  {value: 15, label: 'Soup'},
                  {value: 9, label: 'Beverages'},
                  {value: 15, label: 'Desserts'}],
                  label: 'Pie dataset',
                }],
              },
              highlights: [{x:2}],
              description: {
                text: 'This is Pie chart description',
                textSize: 14,
                textColor: processColor('darkgray'),

              }
            };

Я хочу обновить значения массив состояний, используя следующий код, но это не так не работает

       const myvalues=this.state.data.dataSets[0].values.map(l => Object.assign({}, l));

       myvalues[1].label = 'NEw sandwich';
       this.setState({values: myvalues}, () => {
         console.log(this.state.data.dataSets[0].values[1].label + " it worksss");
       });

Я застрял в этом

1 Ответ

0 голосов
/ 16 января 2020

Проверьте это

  const myvalues = [] /*your new array*/
  this.setState((state) => 
     { 
        data: {
        ...state.data,
        values: myvalues
        }
     });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...