React-dnd: componente é nulo em beginDrag?

Criado em 9 set. 2016  ·  5Comentários  ·  Fonte: react-dnd/react-dnd

A documentação diz que _component_ é passado para beginDrag (3º parâmetro), no entanto, parece ser nulo quando chamado? Não tenho certeza se é algo que estou fazendo errado. Se ajudar, meu componente é tanto uma fonte quanto um destino para arrastar.

O que eu quero fazer é obter a altura do meu componente dentro do beginDrag, isso não é algo que eu possa derivar dos adereços passados, então preciso acessar o componente.

wontfix

Comentários muito úteis

Acontece que o problema é que o DnD não gosta de componentes sem estado :(

eu mudei

const SortableListItem = (props) => {

para

class SortableListItem extends Component {

e _component_ agora é passado corretamente para beginDrag. Vale a pena mencionar que o componente sem estado funcionou conforme o esperado, então fiquei bastante confuso porque _component_ é nulo em beginDrag.

Pode valer a pena atualizar a documentação do beginDrag para indicar que o DnD não funciona com componentes sem estado (assumindo que isso não pode ser corrigido).

Todos 5 comentários

Acontece que o problema é que o DnD não gosta de componentes sem estado :(

eu mudei

const SortableListItem = (props) => {

para

class SortableListItem extends Component {

e _component_ agora é passado corretamente para beginDrag. Vale a pena mencionar que o componente sem estado funcionou conforme o esperado, então fiquei bastante confuso porque _component_ é nulo em beginDrag.

Pode valer a pena atualizar a documentação do beginDrag para indicar que o DnD não funciona com componentes sem estado (assumindo que isso não pode ser corrigido).

Ufa, acabei de perder alguns ciclos com isso também (exceto com o retorno de chamada hover() ). Muito obrigado por postar isso ... Eu não tinha ideia de onde procurar em seguida.

Também me deparei com isso agora - suspeito que o problema é que os componentes sem estado não têm instância pública . O React-dnd pode precisar ajustar como eles usam refs, já que receiveComponent é chamado com null

Isso apenas aconteceu comigo ao atualizar react-redux , e DragSource envolvendo um componente connect ed diretamente.

Solução alternativa: mudou a ordem de DragSoruce e conectar. : - /

Este problema foi marcado automaticamente como obsoleto porque não teve atividades recentes. Ele será fechado se nenhuma outra atividade ocorrer. Obrigado por suas contribuições.

Esta página foi útil?
0 / 5 - 0 avaliações