MobX не будет обращаться к значению массива

Я как бы потерялся с массивами в MobX,

Я пытаюсь получить доступ к значениям массивов и что-то с ними сделать, но это очень странно.

Например :

console.log('arr arr', this.props.arr) // ["test1, "test2", "test3"]
console.log('arr arr', Array.isArray(this.props.arr)) // true
console.log('arr arr', this.props.arr.length) // 0 (?!?)

Поэтому я не могу сопоставить свои массивы, я не могу перебирать свой массив, и это совершенно бесполезно.

Я видел несколько вопросов по той же теме, касающейся этой проблемы с .slice и .replace, но это тоже не помогает.

если вам нужно, я могу добавить остальной код


person thormayer    schedule 19.03.2017    source источник
comment
Это очень интересно. Не могли бы вы добавить остальной код?   -  person Tholle    schedule 20.03.2017


Ответы (2)


Пожалуйста, опубликуйте и остальную часть кода. Обратите внимание, что в некоторых средах console.log является асинхронным, поэтому длина может быть нулевой в момент выполнения этих операторов, но заполнена данными, когда эти операторы фактически выводят свой вывод.

Например, если вы добавили оператор в конце: setImmediate(() => this.props.arr.push("test1", "test2", "test3")), он может выдать результат, который вы видите выше.

person mweststrate    schedule 22.03.2017

Похоже, это не имеет отношения к mobx. Mobx просто заботится об обновлении магазина. Вы должны передать данные магазина в props. Пожалуйста, проверьте, правильно ли вы подключили компонент и храните его.

person Balaji V    schedule 22.03.2017