Состояние пусто после анализа данных к нему

 public async Task<List<string>> AsyncModifyPassword(LoginDTO entity)
    {
        List<string> errors = new List<string>();
        ApplicationUser user = await _userManager.FindByEmailAsync(entity.Email);
        if (user == null)
        {
            errors.Add("User Not Found"); //todo, hablar sobre el tema de lanzar las excepciones
            return errors;
        }

        //user.PasswordHash = _userManager.PasswordHasher.HashPassword(user, entity.Password);
        IdentityResult result = await _userManager.ChangePasswordAsync(user, entity.Password , entity.NewPassword);

        if (!result.Succeeded)
            errors = result.Errors.ToList().Select(error => error.Description).ToList();

        return errors;

    }
0
задан Tristan Vermeesch 16 January 2019 в 09:57
поделиться

2 ответа

Если ваши данные не являются массивом, не используйте функцию карты. Измените свой код, как показано ниже:

 render() {
        return (
            <div>
                {
                    this.state.data &&
                        <div key={this.state.data.key}>
                            {this.state.data.display}
                            {this.state.data.nutrition}
                        </div>
                }
            </div>
        )
    }
0
ответ дан mstfyldz 16 January 2019 в 09:57
поделиться

Функция map в Array.prototype принимает функцию обратного вызова с аргументами, (value, index) => {}. Если вы планируете деструктурировать, используйте вместо этого

this.state.data.map({key, display, nutrition, ...rest}, index) => { // index of value in this.sta
 <div key={key}>
   {display} //I am assuming this is a string not a object or array
   {nutrition} // this should be a string 
 </div>
}

Редактировать : Я предполагаю, что data похоже на

data: [
 {
   key: "",
   nutrition: "",
   display: ""
 }, 
 {
   key: "",
   nutrition: "",
   display: ""
 } 
]

Редактировать 2 [1114 ]:

Учитывая это

state {
data = 
 [
    { id: 1, 
        display: 'Pommes', 
        unity: [ 'unités' ], 
        category: [ 'fruits' ], 
        nutrition: 95, 
        vitamins: [ 'C', 'B-6' ] 
    },
    {
        id: 2,
        display: 'Poires',
        unity: [ 'unités' ],
        category: [ 'fruits' ],
        nutrition: 95,
        vitamins: [ 'C', 'B', 'E' ]
    }
];
}

Вот как это отобразить:

render() {
   return (
     <>
      {
       this.state.data && this.state.data.map(({id, display, nutrition, vitamins}) => {
          return (
           <div key={id}>
            {display} 
            {nutrition}
            {<>vitamins.map(v => v) </>} //in case you need thing such as vitamis, Array, also to eppear
          </div>
        )})
      }
     </>

   )
}
0
ответ дан tbuglc 16 January 2019 в 09:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: