Реагировать навигация уничтожить экран

Поздно к партии, но у меня что-то работает (хотя и очень медленно)

with nums as (select n::int n
from
  (select 
      row_number() over (order by true) as n
   from table_with_enough_rows_to_cover_range)
cross join
  (select 
      max(json_array_length(json_column)) as max_num 
   from table_with_json_column )
where
  n <= max_num + 1)
select *, json_extract_array_element_text(json_column,nums.n-1) parsed_json
from  nums, table_with_json_column
where json_extract_array_element_text(json_column,nums.n-1) != ''
and nums.n <= json_array_length(json_column) 

Благодаря ответу Боба Бэкли для вдохновения

0
задан Dodz 16 January 2019 в 15:57
поделиться

2 ответа

Вы можете использовать стекавигатор в качестве корневого навигатора, тогда внутри есть 2 экрана: первый - вкладки, а второй - сканер штрих-кода. Каждый раз, когда вы переходите к сканеру штрих-кода (через взаимодействие с пользователем на экране tabnavigator, может быть, кнопка с «сканировать штрих-код» или что-то в этом роде), экран штрих-кода должен всплывать как модальный. Затем, когда вы закончите, вы просто goBack () и экран закрывается / размонтируется

0
ответ дан ValdaXD 16 January 2019 в 15:57
поделиться

Я выяснил проблему, когда во время навигации камера все еще mounted, поэтому она продолжает сканировать barcode

Я использовал this.props.isFocused, чтобы исправить мою проблему

import { withNavigationFocus } from 'react-navigation'

render() {
    const { isFocused } = this.props
    return (
       <View>
         { isFocused && <RNCamera  ... />  }
       </View
     ) }


export default withNavigationFocus(Camera)
0
ответ дан Dodz 16 January 2019 в 15:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: