Поздно к партии, но у меня что-то работает (хотя и очень медленно)
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)
Благодаря ответу Боба Бэкли для вдохновения
Вы можете использовать стекавигатор в качестве корневого навигатора, тогда внутри есть 2 экрана: первый - вкладки, а второй - сканер штрих-кода. Каждый раз, когда вы переходите к сканеру штрих-кода (через взаимодействие с пользователем на экране tabnavigator, может быть, кнопка с «сканировать штрих-код» или что-то в этом роде), экран штрих-кода должен всплывать как модальный. Затем, когда вы закончите, вы просто goBack () и экран закрывается / размонтируется
Я выяснил проблему, когда во время навигации камера все еще mounted
, поэтому она продолжает сканировать barcode
Я использовал this.props.isFocused
, чтобы исправить мою проблему
import { withNavigationFocus } from 'react-navigation'
render() {
const { isFocused } = this.props
return (
<View>
{ isFocused && <RNCamera ... /> }
</View
) }
export default withNavigationFocus(Camera)