Выражение ожидается.с Эслинт и реагировать - PullRequest
0 голосов
/ 06 февраля 2019

вот мой код с проблемой

handleXPosition(e) {
    const x = parseFloat(e.target.value);
    this.setState((prevState) => ({ position: ...prevState.position, x}));
}

это мое состояние:

this.state = {
    position: { x: 0.5, y: 0.5 },
    rotate: 0,
    scale: 1,
    width: 250,
    height: 160,
    imageSource: '',
    editMode: false,
 };

моя кнопка в моей части jsx:

<div>
    <TextField
        label="Position X"
        type="range"
        onChange={this.handleXPosition}
        inputProps={{ min: 0, max: 1, step: 0.01 }}
    />
</div>

у меня естьэто сообщение дан VS VS код

[ts] Expression expected. [1109]

в ...prevState.position части.

и я не понимаю

спасибо

Ответы [ 4 ]

0 голосов
/ 06 февраля 2019

попробуйте так:

РЕДАКТИРОВАТЬ:

handleXPosition = (
    e: {
      target: { value },
    },
  ) => {
    this.setState(prevState => ({ position: prevState.position, x: parseFloat(value) }));
  };

отредактировал ответ.

0 голосов
/ 06 февраля 2019

Пожалуйста, измените строку на следующую:

this.setState((prevState) => ({ position: {...prevState.position}, x}));

или

this.setState((prevState) => ({...prevState, x}));
0 голосов
/ 06 февраля 2019

Если вы хотите только вывести position из своего штата, вам не нужно деконструировать его:

handleXPosition(e) {
    const x = parseFloat(e.target.value);
    this.setState(prevState => ({ position: prevState.position, x }));
}

И если вы хотите вынуть все значения из ваших предыдущих реквизитов:

handleXPosition(e) {
    const x = parseFloat(e.target.value);
    this.setState(prevState => ({ ...prevState, x }));
}

РЕДАКТИРОВАТЬ

Чтобы изменить вложенное значение x, вам придется деконструировать старый объект в положение и переопределить только значение x:

this.setState(prevState => ({ position: {...prevState.position, x}}));
0 голосов
/ 06 февраля 2019

Как насчет следующего:

this.setState((prevState) => ({ position: prevState.position, x }));

или даже:

this.setState((prevState) => ({ ...prevState, x }));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...