2017-02-08 10 views
0

Я получаю сообщение об ошибке в селекторах реагирующего приложения при использовании функции jS с библиотекой повторного выбора. Я попытался импортировать toJS, а также не импортировал его, и я получаю ошибку, несмотря ни на что.React reselect - toJS не является функцией

nodeCreationWindow.get (...). ToJS не является функцией

import { createSelector } from 'reselect' 
import { toJS } from 'immutable' 

const selectNodeCreationWindow =() => (state) => state.get('nodeCreationWindow') 

const selectNodes =() => createSelector(
    selectNodeCreationWindow(), 
    (nodeCreationWindow) => { 
    return nodeCreationWindow.get('nodes').toJS() 
    } 
) 

const selectTags =() => createSelector(
    selectNodeCreationWindow(), 
    (nodeCreationWindow) => nodeCreationWindow.get('tags').toJS() 
) 

const selectSuggestions =() => createSelector(
    selectNodeCreationWindow(), 
    (nodeCreationWindow) => nodeCreationWindow.get('suggestions').toJS() 
) 


export { 
    selectNodes, 
    selectTags, 
    selectSuggestions 
} 
+0

Попробуйте 'VAR TMP = nodeCreationWindow.toJS(); return temp.nodes' –

ответ

1

Я думаю, что значение, возвращаемое nodeCreationWindow.get('nodes') уже чистый объект JS, так что не имеет метод toJS ,

Кроме того, удалить эту строку:

import { toJS } from 'immutable' 

, потому что toJS не экспортированная неизменяемым модулем, но прикрепленные к неизменным объектам