2016-05-06 10 views
12

Durante il debug della mia app React Native in Chrome, spesso non riesco a impostare i breakpoint nella scheda Sorgenti. Quando faccio clic su una riga di codice per aggiungere il punto di interruzione, viene aggiunto un punto di interruzione alla riga di dichiarazione della funzione successiva nel mio modulo.Impossibile impostare sempre i punti di interruzione React Native in Chrome

Questo non accade in tutti i miei moduli sorgente, ma abbastanza spesso da impedirmi di eseguire il debug in modo efficiente.

Attualmente sto utilizzando RN 0,22 ma ciò è accaduto anche nelle versioni precedenti di RN (ad esempio RN 0,18).

+0

Ho riscontrato lo stesso problema. Mi chiedo se hai ancora risolto. Se sì, potresti aggiornare la tua soluzione qui? – RandyTek

+0

No, non l'ho ancora risolto. – Wookiem

risposta

5

Questo problema potrebbe essere causato da babele. Quando si usa la funzione normale e la funzione della freccia insieme, è successo.

+1

Uso le funzioni freccia. Ho sostituito tutti con normali chiamate di funzione in uno dei moduli che volevo eseguire il debug. Ma non ha risolto questo problema. Grazie comunque per l'idea. – Wookiem

+0

Non sono sicuro di dove ho sbagliato quando inizialmente ho provato questa soluzione, ma ecco una risposta più dettagliata come postata su git react-native. Sostituire funzione someFn() {} con Const someFn =() => {} Non ci può non essere alcuna funzione nel file sorgente si sta cercando di impostare un punto di interruzione in https:.//github.com/facebook/react-native/issues/10729 – Wookiem

2

ho sperimentato solo questo problema in presenza delle seguenti condizioni: 1) Il file .js contiene più funzioni, e 2) Il tentativo di impostare un punto di interruzione all'interno di una funzione che non è l'ultima funzione nel file .js

Quindi, una soluzione parziale consiste nello spostare una funzione in modo che sia l'ultima funzione nel file .js. Oppure, è possibile assegnare una singola funzione per file. In ogni caso, sarai in grado di impostare i breakpoint.

Questo è lontano dall'ideale, ma è l'unica "soluzione" che ho trovato finora.

+0

È selvaggio. Fondamentalmente non si ha la possibilità di impostare i breakpoint. – duhseekoh

+0

Grazie Wookiem, un'ottima soluzione! – SomethingOn

0

"sourceMaps": "inline" in .babelrc ha risolto questo problema per me.

+0

Benvenuti in Stack Overflow! Questa potrebbe essere la risposta giusta, ma per fare una buona risposta, è una buona idea aggiungere spiegazioni ed esempi su come o perché questa sia la soluzione corretta. Consiglio di leggere la pagina [risposta] per maggiori informazioni. – ItamarG3

Problemi correlati