× Ошибка типа: объект не может быть повторен (не удается прочитать символ свойства (Symbol.iterator))

#javascript #reactjs

#javascript #reactjs

Вопрос:

 TypeError: Object is not iterable (cannot read property Symbol(Symbol.iterator)) 
App C:/Users/T.N shukla/whatsapp/src/App.js:10


7 | import {useStateValue} from './StateProvider';
   8 | 
   9 | function App() {
> 10 |   const [ user ,setdispatch]=useStateValue(); 
  11 |  
  12 |   return (
  13 |     <div className="App">
  

Комментарии:

1. Что вы ожидаете получить от этого поста? Нет контекста, нет вопроса, действительно не с чем работать. useStateValue скорее всего, проблема в этом.

2. В вашем вопросе недостаточно объяснения вашей проблемы, попробуйте записать в консоль, что пользователь выглядит как не массив, установите значение начального состояния в пустой массив.

3. Привет, Озу. Вам придется немного подробнее объяснить проблему, с которой вы столкнулись. Люди могут помочь вам, только если вы сможете достаточно объяснить вопрос. Кроме того, это похоже на проблему с вашей собственной конфигурацией (это дикое предположение). Перед публикацией здесь я бы посоветовал погуглить его.

Ответ №1:

Эта ошибка обычно возникает при попытке выполнить итерацию (например, с помощью цикла for) для объекта, который не является итеративным (например, вы пытались выполнить итерацию для объекта, который не является массивом объектов).

например, скажем, у меня был такой объект:

 let myObject = {
name: 'sam',
data: 'whatever'
}
  

Если я попытаюсь сделать for (let item of myObject) {some code}
Я бы получил сообщение об ошибке, которое вы получаете.

включение дополнительной информации о коде или загрузка ее на GitHub помогли бы нам быстрее решить вашу проблему!

удачи.

Ответ №2:

Вам нужно обернуть app.js компонент в компоненте stateProvider. Передайте начальное состояние и функцию редуктора в качестве реквизитов и получите к нему доступ в компоненте поставщика состояния.

Надеюсь, вы найдете это полезным 🙂