Реагировать JS - как назначить результат функции для состояния? - PullRequest
0 голосов
/ 28 февраля 2019

У меня есть вопрос о реакции в настоящее время в моем приложении. Я хочу получить некоторые данные с сервера и установить значение по умолчанию для ввода, все операции выполняются в функции, но когда я пытаюсь установить состояние, равное внешнему виду функциикак реагирует, думает, что я присваиваю функцию состоянию в результате, когда каждое состояние изменения ввода обновляется функцией, игнорирующей фактическую типизацию, есть ли способ обойти это?

Вот код для части рендерингакомпонента:

{metaList["properties"] &&
  metaList["properties"].map((item, idx) => (
    <label key={idx} style={{ display: "block", marginBottom: "20px" }}>
      {item.name + ":"}
      <div style={{ display: "none" }}>
        {this.findMeta()
          ? (this.state.properties[item.name] = this.findMeta())
          : ""}
        {this.state.properties[item.name]
          ? this.state.properties[item.name]
          : (this.state.properties[item.name] = "")}
      </div>
      <input
        name={item.name}
        placeholder={item.name}
        value={this.state.properties[item.name]}
        onChange={this.handleInputChangeProperties}
        style={{
          marginLeft: "20px"
        }}
      />
    </label>
  ))
}

this.findMeta - это функция, которую я пытаюсь вызвать, в ней нет ничего особенного, функция возвращает одну переменную в виде строки, чтобы заполнить поле.

...