Как установить свойство вложенного объекта в React native? - PullRequest
0 голосов
/ 03 апреля 2019

Я довольно новичок в React native, поэтому, пожалуйста, помогите.

Мне нравится объект

{
    "id": "5c496a666e44253f0cbad0e7",
    "productId": "SPMT-MACBOOK",
    "owner": "5c40442b6e4425163915e5b3",
    "name": "Macbook Air",
    "description": "sida",
    "logo": "5c40442b6e4425163915e5b3_1548315236597.jpg",
    "components": [
      {
        "amount": 200,
        "productId": "LXT",
        "price": 230,
        "name": "Lò xo thân",
        "id": "5c9e3f0aa289e606b46a7fe0"
      },
      {
        "amount": 2000,
        "productId": "LXCT",
        "price": 230,
        "name": "Wing spring",
        "id": "5c9e3f0aa289e606b46a7fe0"
      }]
}

Теперь я хочу установить сумму состояния при редактировании,

this.setState(prevState => ({
      product: {
        components: {...prevState.product.components, amount}
      }
    }));

Но это не так.

Кроме того, если я хочу удалить компонент в продукте, как я могу установить для него состояние? Я объявил переменную dataCom и установил ее с помощью this.state.product.components. Но это тоже не работает.

onRemoveComponent = (data) => {
    const{product} = this.state;
    const {dataCom} =this.state.product.components;
    //const {dataCom} = this.state;
    console.log(data);
      Alert.alert(
          'Remove component',
          "Are you sure to detele " + data.name,
          [
              {text: 'Agree', onPress: () => {
                  this.props.onDeleteComponent(product.id, data.id);
                  this.setState({dataCom});
                    //...prevState.product.components}));
                  //this.setState({product});
            }},
            {text: 'Cancel'},
          ],
          { cancelable: false }
      );
  };

Как я могу установить состояние с вложенным объектом, как это? Спасибо за вашу помощь

...