<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Forum Pasja Informatyki - Najnowsze z tagiem react-native</title>
<link>https://forum.pasja-informatyki.pl/tag/react-native</link>
<description>Powered by Question2Answer</description>
<item>
<title>Błąd &quot;No ViewManager&quot; kiedy używam nawigacji w React Native</title>
<link>https://forum.pasja-informatyki.pl/598843/blad-no-viewmanager-kiedy-uzywam-nawigacji-w-react-native</link>
<description>

&lt;p&gt;Hej, piszę w React Native prostą aplikację: przełączanie się między dwoma ekranami. Ale nawet w prostej aplikacji dostaję błąd &quot;No ViewManager found for class RNCSafeAreaProvider&quot;. Wszystkie konieczne do nawigacji pakiety mam zainstalowane (@react-navigation/native,&amp;nbsp;react-native-screens,&amp;nbsp;react-native-safe-area-context). Aplikację testuję na fizycznym urządzeniu na Androidzie.&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
import { NavigationContainer } from &quot;@react-navigation/native&quot;;
import { createNativeStackNavigator } from &quot;@react-navigation/native-stack&quot;;
import { SafeAreaProvider } from &quot;react-native-safe-area-context&quot;;

const Stack= createNativeStackNavigator();

function HomeScreen({ navigation }) {
    return (
        &amp;lt;View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}&amp;gt;
            &amp;lt;Text&amp;gt;Home Screen&amp;lt;/Text&amp;gt;
            &amp;lt;Button
                title=&quot;Go to Details&quot;
                onPress={() =&amp;gt; navigation.navigate('Details')}
            /&amp;gt;
        &amp;lt;/View&amp;gt;
    );
}

function DetailsScreen() {
    return (
        &amp;lt;View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}&amp;gt;
            &amp;lt;Text&amp;gt;Details Screen&amp;lt;/Text&amp;gt;
            &amp;lt;Button
                title=&quot;Go to Home&quot;
                onPress={() =&amp;gt; navigation.navigate('Home')}
            /&amp;gt;
        &amp;lt;/View&amp;gt;
    );
}

export default function App() {
    return (
        &amp;lt;SafeAreaProvider&amp;gt;
            &amp;lt;NavigationContainer&amp;gt;
                &amp;lt;Stack.Navigator&amp;gt;
                    &amp;lt;Stack.Screen name=&quot;Home&quot; component={HomeScreen} /&amp;gt;
                    &amp;lt;Stack.Screen name=&quot;Details&quot; component={DetailsScreen} /&amp;gt;
                &amp;lt;/Stack.Navigator&amp;gt;
            &amp;lt;/NavigationContainer&amp;gt;
        &amp;lt;/SafeAreaProvider&amp;gt;
    );
}&lt;/pre&gt;



&lt;p&gt;Aplikacje bez nawigatora (&quot;Hello world&quot; czy coś takiego) działają. Problem pojawia się gdy używam nawigacji,&lt;/p&gt;



&lt;p&gt;Próbowałem zwykłego restartu komputera i telefonu, utworzenia nowego projektu,&amp;nbsp;w którym znowu napisałem taki sam kod, przeinstalować pakiety wymagane do nawigacji. Ciągle ten sam problem.&lt;/p&gt;</description>
<category>Android, Swift, Symbian</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/598843/blad-no-viewmanager-kiedy-uzywam-nawigacji-w-react-native</guid>
<pubDate>Thu, 26 Jun 2025 20:24:53 +0000</pubDate>
</item>
<item>
<title>Nie działa APK przy StackNavigator</title>
<link>https://forum.pasja-informatyki.pl/598769/nie-dziala-apk-przy-stacknavigator</link>
<description>

&lt;p&gt;Uszanowanie, bawię się w pisanie aplikacji w React Native używając Expo Go do testowania. Kiedy używam `npx expo start` i skanuję kod QR w Expo Go na fizycznym urządzeniu to wszystko działa.
&lt;br&gt;
Kiedy chcę wygenerować plik APK używam polecenia `eas build -p android --profile preview` i tu napotykam na problem.&lt;/p&gt;



&lt;p&gt;Nie działa. Zauważyłem, że ogólnie wszystko działa, jeśli nie użyję nawigatora; jeśli do pliku App.js dam kod z jednego z ekranów to wszystko się generuje (oczywiście nie&amp;nbsp;ma nawigatora). Po uruchomieniu aplikacji widzę jedynie czarny ekran.
&lt;br&gt;
&lt;a href=&quot;https://imgur.com/a/Ac5TjSX&quot; rel=&quot;nofollow&quot;&gt;Tu jest podgląd jak to wygląda po zainstalowaniu.&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Nie działa to nawet dla prostej aplikacji, typu: przycisk Go to Home oraz drugi Go to About.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://expo.dev/accounts/kardimon57/projects/app1/builds/f34f8297-8e7b-4643-9b11-b4dab3e86be0&quot; rel=&quot;nofollow&quot;&gt;Tu jest możliwy do pobrania plik .apk&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Żeby wygenerować plik .apk postępuję zgodnie z instrukcjami z &lt;a href=&quot;http://docs.expo.dev&quot; rel=&quot;nofollow&quot;&gt;docs.expo.dev&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Znalazłem że w niektórych przypadkach pomaga usunięcie parametru `alignItems: &quot;center&quot;` z komponentu View, który zawiera nawigator sam w sobie. To jednak nie pomogło.&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;pre class=&quot;brush:plain;&quot;&gt;
node --version
v18.19.1

npm expo --version
9.2.0&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;A tu podaję wszystkie istotne (chyba) pliki:&lt;/p&gt;



&lt;p&gt;App.js&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
import { StyleSheet, Text, View } from 'react-native';
import { NavigationContainer } from &quot;@react-navigation/native&quot;;
import { createNativeStackNavigator } from &quot;@react-navigation/native-stack&quot;;
import Home from &quot;./screens/Home&quot;;
import About from './screens/About';
const Stack=createNativeStackNavigator();

export default function App() {
    return (
        &amp;lt;View style={{flex:1}}&amp;gt;
            &amp;lt;NavigationContainer&amp;gt;
                &amp;lt;Stack.Navigator initialRouteName='Home'&amp;gt;
                    &amp;lt;Stack.Screen component={Home} name=&quot;Home&quot;/&amp;gt;
                    &amp;lt;Stack.Screen component={About} name=&quot;About&quot;/&amp;gt;
                &amp;lt;/Stack.Navigator&amp;gt;
            &amp;lt;/NavigationContainer&amp;gt;
        &amp;lt;/View&amp;gt;
    );
}&lt;/pre&gt;



&lt;p&gt;app.json&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
{
  &quot;expo&quot;: {
    &quot;name&quot;: &quot;app1&quot;,
    &quot;slug&quot;: &quot;app1&quot;,
    &quot;version&quot;: &quot;1.0.0&quot;,
    &quot;orientation&quot;: &quot;portrait&quot;,
    &quot;icon&quot;: &quot;./assets/icon.png&quot;,
    &quot;userInterfaceStyle&quot;: &quot;light&quot;,
    &quot;newArchEnabled&quot;: true,
    &quot;splash&quot;: {
      &quot;image&quot;: &quot;./assets/splash-icon.png&quot;,
      &quot;resizeMode&quot;: &quot;contain&quot;,
      &quot;backgroundColor&quot;: &quot;#ffffff&quot;
    },
    &quot;ios&quot;: {
      &quot;supportsTablet&quot;: true
    },
    &quot;android&quot;: {
      &quot;adaptiveIcon&quot;: {
        &quot;foregroundImage&quot;: &quot;./assets/adaptive-icon.png&quot;,
        &quot;backgroundColor&quot;: &quot;#ffffff&quot;
      },
      &quot;edgeToEdgeEnabled&quot;: true,
      &quot;package&quot;: &quot;com.kardimon57.app1&quot;
    },
    &quot;web&quot;: {
      &quot;favicon&quot;: &quot;./assets/favicon.png&quot;
    },
    &quot;extra&quot;: {
      &quot;eas&quot;: {
        &quot;projectId&quot;: &quot;7d4011bb-176d-4861-bb81-fa7f9f0c4cc9&quot;
      }
    }
  }
}
&lt;/pre&gt;



&lt;p&gt;eas.json&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
{
  &quot;cli&quot;: {
    &quot;version&quot;: &quot;&amp;gt;= 16.7.0&quot;,
    &quot;appVersionSource&quot;: &quot;remote&quot;
  },
  &quot;build&quot;: {
    &quot;development&quot;: {
      &quot;developmentClient&quot;: true,
      &quot;distribution&quot;: &quot;internal&quot;
    },
    &quot;preview&quot;: {
      &quot;android&quot;: {
        &quot;buildType&quot;: &quot;apk&quot;
      },
      &quot;distribution&quot;: &quot;internal&quot;
    },
    &quot;production&quot;: {
      &quot;autoIncrement&quot;: true
    }
  },
  &quot;submit&quot;: {
    &quot;production&quot;: {}
  }
}
&lt;/pre&gt;



&lt;p&gt;Z góry dzięki za pomoc.&lt;/p&gt;</description>
<category>Urządzenia mobilne</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/598769/nie-dziala-apk-przy-stacknavigator</guid>
<pubDate>Mon, 02 Jun 2025 11:51:07 +0000</pubDate>
</item>
<item>
<title>UseCart must be used within a cartPrivider - React-native</title>
<link>https://forum.pasja-informatyki.pl/597764/usecart-must-be-used-within-a-cartprivider-react-native</link>
<description>

&lt;p&gt;Buduję aplikację swojego sklepu internetowego shopinfie. Mam ekran koszyka, ale po próbie otwarcia wyświetla się&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=6391262295790293584&quot; style=&quot;height:1333px; width:600px&quot;&gt;&lt;/p&gt;



&lt;p&gt;Mój cały projekt jest dostępny na githubie: &lt;a href=&quot;https://github.com/piotrek1372/shopinfie&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://github.com/piotrek1372/shopinfie&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Ale głownie interesują mnie pliki:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot; title=&quot;cartContext&quot;&gt;
import React, { createContext, useState, useContext, ReactNode } from &quot;react&quot;;

interface CartItem {
  id: number;
  name: string;
  price: number;
  image: string;
}

interface CartContextType {
  cartItems: CartItem[];
  addToCart: (product: CartItem) =&amp;gt; void;
  removeFromCart: (productId: number) =&amp;gt; void;
}

const CartContext = createContext&amp;lt;CartContextType | undefined&amp;gt;(undefined);

export const CartProvider = ({ children }: { children: ReactNode }) =&amp;gt; {
  const [cartItems, setCartItems] = useState&amp;lt;CartItem[]&amp;gt;([]);

  const addToCart = (product: CartItem) =&amp;gt; {
    setCartItems((prev) =&amp;gt; [...prev, product]);
  };

  const removeFromCart = (productId: number) =&amp;gt; {
    setCartItems((prev) =&amp;gt; prev.filter((item) =&amp;gt; item.id !== productId));
  };

  return (
    &amp;lt;CartContext.Provider value={{ cartItems, addToCart, removeFromCart }}&amp;gt;
      {children}
    &amp;lt;/CartContext.Provider&amp;gt;
  );
};

export const useCart = (): CartContextType =&amp;gt; {
  const context = useContext(CartContext);
  if (!context) {
    throw new Error(&quot;useCart must be used within a CartProvider&quot;);
  }
  return context;
};&lt;/pre&gt;



&lt;pre class=&quot;brush:jscript;&quot; title=&quot;cart&quot;&gt;
import React from &quot;react&quot;;
import { View, Text, FlatList, Image, TouchableOpacity, StyleSheet } from &quot;react-native&quot;;
import { useCart } from &quot;../../context/cartContext&quot;;

const CartScreen = () =&amp;gt; {
  const { cartItems, removeFromCart } = useCart();

  const calculateTotalPrice = () =&amp;gt;
    cartItems.reduce((total, item) =&amp;gt; total + item.price, 0);

  const renderCartItem = ({ item }) =&amp;gt; (
    &amp;lt;View style={styles.cartItem}&amp;gt;
      &amp;lt;Image source={{ uri: item.image }} style={styles.productImage} /&amp;gt;
      &amp;lt;View style={styles.productDetails}&amp;gt;
        &amp;lt;Text style={styles.productName}&amp;gt;{item.name}&amp;lt;/Text&amp;gt;
        &amp;lt;Text style={styles.productPrice}&amp;gt;{item.price.toFixed(2)} zł&amp;lt;/Text&amp;gt;
        &amp;lt;TouchableOpacity
          style={styles.removeButton}
          onPress={() =&amp;gt; removeFromCart(item.id)}
        &amp;gt;
          &amp;lt;Text style={styles.removeButtonText}&amp;gt;Usuń&amp;lt;/Text&amp;gt;
        &amp;lt;/TouchableOpacity&amp;gt;
      &amp;lt;/View&amp;gt;
    &amp;lt;/View&amp;gt;
  );

  return (
    &amp;lt;View style={styles.container}&amp;gt;
      &amp;lt;Text style={styles.header}&amp;gt;Koszyk&amp;lt;/Text&amp;gt;
      {cartItems.length &amp;gt; 0 ? (
        &amp;lt;&amp;gt;
          &amp;lt;FlatList
            data={cartItems}
            renderItem={renderCartItem}
            keyExtractor={(item) =&amp;gt; item.id.toString()}
          /&amp;gt;
          &amp;lt;View style={styles.summaryContainer}&amp;gt;
            &amp;lt;Text style={styles.totalText}&amp;gt;
              Łączna cena: {calculateTotalPrice().toFixed(2)} zł
            &amp;lt;/Text&amp;gt;
          &amp;lt;/View&amp;gt;
        &amp;lt;/&amp;gt;
      ) : (
        &amp;lt;Text style={styles.emptyCartText}&amp;gt;Twój koszyk jest pusty&amp;lt;/Text&amp;gt;
      )}
    &amp;lt;/View&amp;gt;
  );
};

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: &quot;#f8f8f8&quot;,
  },
  header: {
    fontSize: 24,
    fontWeight: &quot;bold&quot;,
    textAlign: &quot;center&quot;,
    marginVertical: 10,
    color: &quot;#333&quot;,
  },
  cartItem: {
    flexDirection: &quot;row&quot;,
    backgroundColor: &quot;#fff&quot;,
    marginVertical: 8,
    borderRadius: 8,
    overflow: &quot;hidden&quot;,
    borderWidth: 1,
    borderColor: &quot;#ddd&quot;,
  },
  productImage: {
    width: 100,
    height: 100,
    resizeMode: &quot;contain&quot;,
  },
  productDetails: {
    flex: 1,
    padding: 10,
  },
  productName: {
    fontSize: 16,
    fontWeight: &quot;bold&quot;,
  },
  productPrice: {
    fontSize: 14,
    color: &quot;#888&quot;,
  },
  removeButton: {
    backgroundColor: &quot;#ff6666&quot;,
    borderRadius: 4,
    padding: 5,
  },
  removeButtonText: {
    color: &quot;#fff&quot;,
  },
  summaryContainer: {
    padding: 20,
    borderTopWidth: 1,
    borderColor: &quot;#ddd&quot;,
    backgroundColor: &quot;#fff&quot;,
  },
  totalText: {
    fontSize: 18,
    fontWeight: &quot;bold&quot;,
    textAlign: &quot;center&quot;,
  },
  emptyCartText: {
    fontSize: 18,
    textAlign: &quot;center&quot;,
    color: &quot;#888&quot;,
    marginTop: 20,
  },
});

export default CartScreen;&lt;/pre&gt;



&lt;p&gt;Jak ten błąd naprawić? Co on oznacza?&lt;/p&gt;</description>
<category>Inne języki</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/597764/usecart-must-be-used-within-a-cartprivider-react-native</guid>
<pubDate>Wed, 15 Jan 2025 15:29:43 +0000</pubDate>
</item>
<item>
<title>React Native Video: Cannot read property 'Constants' of null</title>
<link>https://forum.pasja-informatyki.pl/584913/react-native-video-cannot-read-property-constants-of-null</link>
<description>

&lt;p&gt;Jak wyżej, mam problem z video w React nativie, po wejściu na stronę która ma je wyświetlać, dostaję taki błąd:&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=8996047344210516668&quot; style=&quot;height:888px; width:577px&quot;&gt;&lt;/p&gt;



&lt;p&gt;Mój kod:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
import Video from 'react-native-video';

const playerPage = ({route}) =&amp;gt; {
    const {book} = route.params;
  return (
    &amp;lt;View style={StyleSheet.mainPlayerView}&amp;gt;
        &amp;lt;View style={{height: '33%', width: '100%'}}&amp;gt;
            &amp;lt;Video controls={true} source={{uri: book.video}} style={{width: '100%', height: '100%'}} /&amp;gt;
        &amp;lt;/View&amp;gt;
        &amp;lt;Text&amp;gt;{book.video}&amp;lt;/Text&amp;gt;
    &amp;lt;/View&amp;gt;
  )
}&lt;/pre&gt;



&lt;p&gt;Używam Expo go. Próbowałam usunąć node_modules i npm i.&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/584913/react-native-video-cannot-read-property-constants-of-null</guid>
<pubDate>Tue, 16 May 2023 09:55:51 +0000</pubDate>
</item>
<item>
<title>React Native - problem z nawigacją</title>
<link>https://forum.pasja-informatyki.pl/583122/react-native-problem-z-nawigacja</link>
<description>

&lt;p&gt;Próbuję stworzyć pasek nawigacyjny w React nativie. Udało mi się jakoś go ostylować, teraz chciałabym, aby po kliknięciu na napis/przycisk w rozwijanym menu zmienił się ekran, ale nawigacja w React Nativie różni się od tej w Reaccie. Czy w ogóle da się zrobić tak, by w jednego paska nawigacyjnego, działającego jako osobny komponent nawigować po całej aplikacji? Poniżej wklejam próby utworzenia czegoś takiego, niestety, po kliknięciu ekran się&amp;nbsp;nie zmienia. To mój pierwszy projekt w React Nativie, czy menu może nie działać, przez nakaz zwinięcia go po kliknięciu gdziekolwiek?&lt;/p&gt;



&lt;p&gt;Kod paska:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const NavBar = ({navigation}) =&amp;gt; {

  const menuItems = [
    {
      route: '../../homepage/homepage',
      displayTitle: 'Home'
    },
    {
      route: 'User Info',
      displayTitle: 'User Info'
    },
    {
      route: 'Book list',
      displayTitle: 'Book list'
    },
    {
      route: ' All books list',
      displayTitle: 'All books list'
    },
    {
      route: 'Login',
      displayTitle: 'Login'
    }
  ];

  const [showMenu, setShowMenu] = useState(false);

  const toggleMenu = () =&amp;gt; {
    setShowMenu(!showMenu);
  };

  const handlePressOutside = () =&amp;gt; {
    setShowMenu(false);
  };

  let [font] = useFonts({
    MrDafoe_400Regular
  })
  if(!font){
    return &amp;lt;AppLoading /&amp;gt;;
  }

    return(
      &amp;lt;View style={styles.all}&amp;gt;
        &amp;lt;View style={styles.container}&amp;gt;
            &amp;lt;TouchableOpacity onPress={toggleMenu} style={{marginTop: 22}}&amp;gt;
              &amp;lt;Feather name=&quot;menu&quot; size={30} color=&quot;white&quot; alignSelf=&quot;flex-end&quot; /&amp;gt;  
            &amp;lt;/TouchableOpacity&amp;gt;       
            &amp;lt;Text style={styles.logoText}&amp;gt;myShelf&amp;lt;/Text&amp;gt;
        &amp;lt;/View&amp;gt;
        {showMenu &amp;amp;&amp;amp; (
             &amp;lt;View style={styles.menuBar}&amp;gt;
             {menuItems.map((menuItem) =&amp;gt; (
                &amp;lt;TouchableOpacity
                  key={menuItem.route}
                  onPress={() =&amp;gt; setCurrentView(menuItem.route)}
                  //onPress={() =&amp;gt; navigation.navigate(menuItem.route)}
                &amp;gt;
                  &amp;lt;Text style={styles.menuText}&amp;gt;{menuItem.displayTitle}&amp;lt;/Text&amp;gt;
                &amp;lt;/TouchableOpacity&amp;gt;
              ))}
             &amp;lt;/View&amp;gt;
       )}
       {showMenu &amp;amp;&amp;amp; (
         &amp;lt;TouchableOpacity
           onPress={handlePressOutside}
           style={{ position: 'absolute', top: 0, bottom: 0, right: 0, left: 0 }}
         /&amp;gt;
       )}

      &amp;lt;/View&amp;gt;
    )
}&lt;/pre&gt;



&lt;p&gt;Kod App.js:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const Stack = createStackNavigator();

export default function App() {
  return (
    &amp;lt;NavigationContainer&amp;gt;
      &amp;lt;Stack.Navigator&amp;gt;
        &amp;lt;Stack.Screen
              name=&quot;Home&quot;
              component={Homepage}
              options={{headerShown: false}}
            /&amp;gt;
            &amp;lt;Stack.Screen 
              name=&quot;Login&quot;
              component={Login}
              options={{headerShown: false}}
            /&amp;gt;
        &amp;lt;/Stack.Navigator&amp;gt;
    &amp;lt;/NavigationContainer&amp;gt;
      
  );
}&lt;/pre&gt;



&lt;p&gt;Kod przykładowego ekranu, np Homepage:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
const HomePage = () =&amp;gt; {
  return (
    &amp;lt;View style={styles.container}&amp;gt;
      &amp;lt;NavBar/&amp;gt;
      &amp;lt;Text&amp;gt;Home page&amp;lt;/Text&amp;gt;
      &amp;lt;StatusBar style=&quot;auto&quot; /&amp;gt;
    &amp;lt;/View&amp;gt;
  );
}
&lt;/pre&gt;



&lt;p&gt;Wkleiłam jedynie najważniejsze fragmenty kodów, z pominięciem importów czy CSS.&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/583122/react-native-problem-z-nawigacja</guid>
<pubDate>Sat, 01 Apr 2023 12:53:03 +0000</pubDate>
</item>
<item>
<title>React Native-problem</title>
<link>https://forum.pasja-informatyki.pl/582505/react-native-problem</link>
<description>

&lt;p&gt;Witam,&lt;/p&gt;



&lt;p&gt;uczę się pisać w reakcie native.&lt;/p&gt;



&lt;p&gt;Alert który powinien wyświetlić się po kliknięciu przycisku, wyświetla się zaraz po starcie aplikacji.&lt;/p&gt;



&lt;p&gt;Jest w stanie ktoś pomódz?&lt;/p&gt;



&lt;p&gt;Z góry dziękuję za wszystkie odpowiedzi.&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
import React from 'react';
import {Button, Alert, View, Text, StyleSheet, ScrollView, TouchableHighlight} from &quot;react-native&quot;;
import {Component} from &quot;react&quot;;

export default class App extends Component {
  _kliknieto() {
    Alert.alert('Kliknięto!');
  }

  render() {
    return (
    &amp;lt;ScrollView style={styles.maincontainer}&amp;gt;
        &amp;lt;TouchableHighlight onPress={this._kliknieto()} underlayColor='#white'&amp;gt;
          &amp;lt;View style={styles.btn}&amp;gt;
            &amp;lt;Text style={styles.btntext}&amp;gt;Kliknij Mnie!&amp;lt;/Text&amp;gt;
          &amp;lt;/View&amp;gt;
        &amp;lt;/TouchableHighlight&amp;gt;
    &amp;lt;/ScrollView&amp;gt;
    );
  }
}
const styles = StyleSheet.create({
  maincontainer: {
    padding: 15,
    paddingTop: 30,
    backgroundColor: '#fce7c7',
  },
  logo: {
    backgroundColor: '#2b2b2b',
    color: '#fff',
    padding: 25,
  },
  btn: {
    marginBottom: 15,
    borderRadius: 3,
    color: '#fff',
    padding: 5,
    height: 50,
    backgroundColor: '#bc8f8f',
    flex: 1,
    alignItems: &quot;center&quot;,
    justifyContent: &quot;center&quot;,
  },
  btntext: {
    textAlign: &quot;center&quot;,
    color: '#fff',
    fontSize: 18,
  },
})&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/582505/react-native-problem</guid>
<pubDate>Mon, 20 Mar 2023 16:11:24 +0000</pubDate>
</item>
<item>
<title>React Native</title>
<link>https://forum.pasja-informatyki.pl/582418/react-native</link>
<description>

&lt;p&gt;Witam,&lt;/p&gt;



&lt;p&gt;zacząłem naukę Reacta Native i napotkałem&amp;nbsp;taki błąd:&amp;nbsp;&amp;nbsp;&quot;ERROR &amp;nbsp;ReferenceError: Property 'flex' doesn't exist, js engine: hermes&quot;.&lt;/p&gt;



&lt;p&gt;Jest w stanie ktoś pomóc?&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
import React from 'react';
import {ScrollView, Text, StyleSheet, Button, SafeAreaView, View} from 'react-native';

const App = () =&amp;gt; (
    &amp;lt;View style={styles.container}&amp;gt;
    &amp;lt;Button onPress={() =&amp;gt; {console.log('Button is touched')}}
            style={styles.button}
    title='Press me'
    /&amp;gt;
    &amp;lt;/View&amp;gt;
);
 const styles =StyleSheet.create({
        container: {
          alignItems: 'center',
          justifyContent: 'center',
            display: 'flex',
        },
        button: {
            backgroundColor: '#10c6cb',
            color: '#fff',
            height: 30,
            width: 50,
        },
     });
export default App;&lt;/pre&gt;



&lt;p&gt;Z góry dziękuję za wszystkie odpowiedzi&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/582418/react-native</guid>
<pubDate>Sun, 19 Mar 2023 09:11:32 +0000</pubDate>
</item>
<item>
<title>Dynamicznie pojawiające się i znikające elementy w aplikacji react-native</title>
<link>https://forum.pasja-informatyki.pl/570606/dynamicznie-pojawiajace-sie-i-znikajace-elementy-w-aplikacji-react-native</link>
<description>Cześć,&lt;br /&gt;
&lt;br /&gt;
chciałbym w aplikacji zaimplementować cos takiego: Wyświetlają się 3 opcje do zaznaczenia, a po ich zaznaczeniu powinny one zniknąć i pojawić się kolejny ekran z 3 opcjami. Chciałbym żeby to było takie dynamiczne, a wartość tych zaznaczonych elementów gdzieś się zapisywała. W jaki sposób mogę to wykonać?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/570606/dynamicznie-pojawiajace-sie-i-znikajace-elementy-w-aplikacji-react-native</guid>
<pubDate>Tue, 09 Aug 2022 09:45:42 +0000</pubDate>
</item>
<item>
<title>React Native - Użycie lokalnego api zwraca błąd</title>
<link>https://forum.pasja-informatyki.pl/557994/react-native-uzycie-lokalnego-api-zwraca-blad</link>
<description>Cześć.&lt;br /&gt;
&lt;br /&gt;
Napisałem sobie bazę danych wraz z api w Laravelu i trzymam je na localhoście.&lt;br /&gt;
&lt;br /&gt;
Napisałem również aplikację mobilną w React Native przy użyciu expo. Expo pozwala na uruchamianie aplikacji w przeglądarce, emulatorach oraz na swoim telefonie przy użyciu ich aplikacji (expo go).&lt;br /&gt;
&lt;br /&gt;
Gdy odpalę swoją aplikację mobilną na przeglądarce - axios zwraca mi ładnie całe moje api.&lt;br /&gt;
&lt;br /&gt;
Gdy odpalę swoją aplikację mobilną na swoim telefonie (przy pomocy aplikacji expo go) - axios zwraca Network Error.&lt;br /&gt;
&lt;br /&gt;
Łączę się poprzez link z Ipv4 (ipconfig). Domyślam się, że coś może nie grać z portami, ale nie mam pojęcia jak to połączyć, abym mógł się łączyć z api z mojego telefonu.</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/557994/react-native-uzycie-lokalnego-api-zwraca-blad</guid>
<pubDate>Fri, 31 Dec 2021 22:32:35 +0000</pubDate>
</item>
<item>
<title>React vs ReactNative</title>
<link>https://forum.pasja-informatyki.pl/554633/react-vs-reactnative</link>
<description>

&lt;p&gt;Hej, na co dzień programuję apki webowe w &lt;strong&gt;Javie&lt;/strong&gt;&amp;nbsp;i &lt;strong&gt;React&lt;/strong&gt;.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Chciałbym dla siebie stworzyć projekt mobilny w &lt;strong&gt;ReactNative&lt;/strong&gt;&amp;nbsp;i moje pytanie brzmi: czy są duże różnice w syntaxie etc. pomiędzy&amp;nbsp;&lt;strong&gt;React&lt;/strong&gt;&amp;nbsp;a &lt;strong&gt;ReactNative&lt;/strong&gt;, czy raczej bezproblemowo będę mógł się przesiąść na &lt;strong&gt;ReactNative&lt;/strong&gt;?&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/554633/react-vs-reactnative</guid>
<pubDate>Wed, 10 Nov 2021 10:33:25 +0000</pubDate>
</item>
<item>
<title>SQLite - Graficzny podgląd bazy</title>
<link>https://forum.pasja-informatyki.pl/553625/sqlite-graficzny-podglad-bazy</link>
<description>Cześć.&lt;br /&gt;
&lt;br /&gt;
Do niedawna głównie tworzyłem aplikacje webowe z użyciem MySQL, do którego miałem podgląd graficzny w postaci podstrony /phpmyadmin, którą dostarczał mi pakiet XAMPP. Postanowiłem przerzucić się na pisanie aplikacji mobilnych, gdzie wykorzystuję bazę SQLite.&lt;br /&gt;
&lt;br /&gt;
Chciałem zapytać czy jest jakiś program / wtyczka do mojego edytora kodu, aby mieć podgląd do tego typu bazy danych?&lt;br /&gt;
&lt;br /&gt;
Obecnie używam Visual Studio Code oraz (jeśli ma to znaczenie) aplikacje tworzę w React Native, a do komunikacji z bazą używam wbudowanych bibliotek, które dostarcza system Expo.</description>
<category>SQL, bazy danych</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/553625/sqlite-graficzny-podglad-bazy</guid>
<pubDate>Wed, 27 Oct 2021 18:49:44 +0000</pubDate>
</item>
<item>
<title>Nested Navigator - React Native</title>
<link>https://forum.pasja-informatyki.pl/551436/nested-navigator-react-native</link>
<description>

&lt;p&gt;Cześć! Robię apkę w react native i chcę użyć React Navigation do nawigacji. Kod wygląda tak:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
// In App.js in a new project

import * as React from &quot;react&quot;;
import { View, Text } from &quot;react-native&quot;;
import { NavigationContainer } from &quot;@react-navigation/native&quot;;
import { createNativeStackNavigator } from &quot;@react-navigation/native-stack&quot;;
import { createBottomTabNavigator } from &quot;@react-navigation/bottom-tabs&quot;;

import firebase from &quot;firebase&quot;;
import { firebaseConfig } from &quot;./firebase-config&quot;;
import LoadingScreen from &quot;./screens/Login/LoadingScreen&quot;;
import WelcomePage from &quot;./screens/Login/WelcomePage&quot;;
import LoginPage from &quot;./screens/Login/LoginPage&quot;;
import SignUpEmail from &quot;./screens/Login/SignUpEmail&quot;;
import Home from &quot;./screens/Home/Home&quot;;
import CurrentReadBookDetails from &quot;./screens/Home/CurrentReadBookDetails&quot;;
import LibraryBookDetails from &quot;./screens/Home/LibraryBookDetails&quot;;
import BookScanner from &quot;./screens/Home/BookScanner&quot;;
import BookDetails from &quot;./screens/Home/BookDetails&quot;;
import SearchResult from &quot;./screens/Search/SearchResult&quot;;

if (!firebase.apps.length) firebase.initializeApp(firebaseConfig); //musimy sprawdzic czy aplikacja zostala juz zainicjowana czy nie, zeby za kazdym razem nie inicjowac apki
const Stack = createNativeStackNavigator();
const Tab = createBottomTabNavigator();

const TabNavigator = () =&amp;gt; (
  &amp;lt;Tab.Navigator initialRouteName=&quot;HomeScreen&quot;&amp;gt;
    &amp;lt;Tab.Screen name=&quot;HomeScreen&quot; component={Home} /&amp;gt;
    &amp;lt;Tab.Screen name=&quot;Search&quot; component={SearchResult} /&amp;gt;
  &amp;lt;/Tab.Navigator&amp;gt;
);

function App() {
  return (
    &amp;lt;NavigationContainer&amp;gt;
      &amp;lt;Stack.Navigator initialRouteName=&quot;LoadingScreen&quot;&amp;gt;
        &amp;lt;Stack.Screen name=&quot;LoadingScreen&quot; component={LoadingScreen} /&amp;gt;
        &amp;lt;Stack.Screen name=&quot;WelcomePage&quot; component={WelcomePage} /&amp;gt;
        &amp;lt;Stack.Screen
          name=&quot;Home&quot;
          component={TabNavigator}
          options={{ headerShown: false }}
        /&amp;gt;
        &amp;lt;Stack.Screen name=&quot;LoginPage&quot; component={LoginPage} /&amp;gt;
        &amp;lt;Stack.Screen name=&quot;SignUpEmail&quot; component={SignUpEmail} /&amp;gt;
        &amp;lt;Stack.Screen name=&quot;BookScanner&quot; component={BookScanner} /&amp;gt;
        &amp;lt;Stack.Screen name=&quot;BookDetails&quot; component={BookDetails} /&amp;gt;
        &amp;lt;Stack.Screen
          name=&quot;LibraryBookDetails&quot;
          component={LibraryBookDetails}
        /&amp;gt;
        &amp;lt;Stack.Screen
          name=&quot;CurrentReadBookDetails&quot;
          component={CurrentReadBookDetails}
        /&amp;gt;
      &amp;lt;/Stack.Navigator&amp;gt;
    &amp;lt;/NavigationContainer&amp;gt;
  );
}

export default App;
&lt;/pre&gt;



&lt;p&gt;Problem jest taki, że zagnieździłem TabNavigator w StackNavigator. I teraz gdy próbuje nawigować do Home albo Search, ekran jest pusty... Mimo, że widzę, że dane w console.logu się ładują. Więc co jest nie tak? Routy ze Stack.Navigator'a działają poprawnie, tylko te z zagnieżdżonego pokazują pusty ekran.&lt;/p&gt;



&lt;p&gt;Próbuję nawigować do Home i Search&amp;nbsp;w następujący sposób:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
navigation.navigate(&quot;Home&quot;, { screen: &quot;HomeScreen&quot; });&lt;/pre&gt;



&lt;p&gt;Prosiłbym o pomoc :/&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/551436/nested-navigator-react-native</guid>
<pubDate>Sat, 25 Sep 2021 21:43:35 +0000</pubDate>
</item>
<item>
<title>props.location.state.username zwaraca undefined - react native</title>
<link>https://forum.pasja-informatyki.pl/549052/props-location-state-username-zwaraca-undefined-react-native</link>
<description>

&lt;p&gt;Witam wszystkich. Mam problem z odczytaniem wartości props.location.state.username i props.location.state.partnerToken, które przekazuję z komponentu Login do HomeScreen poprzez&amp;nbsp;komponent Redirect. Wartości zwracają undefined.&amp;nbsp;
&lt;br&gt;
&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Login.js&lt;/strong&gt;&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
import React, { useEffect, useState } from &quot;react&quot;;
import {
  TextInput,
  Text,
  StyleSheet,
  View,
  BackHandler,
  TouchableHighlight,
  Image,
} from &quot;react-native&quot;;
import { withRouter, Redirect } from &quot;react-router-native&quot;;
import global from &quot;./style&quot;;
import firebase from &quot;firebase&quot;;
import { useFonts } from &quot;expo-font&quot;;
import AppLoading from &quot;expo-app-loading&quot;;

function Login(props) {
  const [partnerUsername, setPartnerUsername] = useState(
    &quot;Your partner username...&quot;
  );
  const [username, setUsername] = useState(&quot;&quot;);
  const [partnerUsernameError, setPartnerUsernameError] = useState(false);
  const [partnerToken, setPartnerToken] = useState(&quot;&quot;);
  const [redirect, setRedirect] = useState(false);

  let propusername = props.location.state.username;

  useEffect(() =&amp;gt; {
    console.log(
      &quot;Imie:&quot; +
        props.location.state.name +
        &quot;Username:&quot; +
        props.location.state.username
    );
    setUsername(props.location.state.username);

    const backAction = () =&amp;gt; {
      props.history.push(&quot;/&quot;); //wracamy do glownej
      return true; //musimy zreturnowac true -&amp;gt; patrz dokumentacja
    };

    const backHandler = BackHandler.addEventListener(
      //obsluga hardwarowego back buttona (tylko android)
      &quot;hardwareBackPress&quot;,
      backAction
    );

    return () =&amp;gt; backHandler.remove(); // przy odmontowywaniu
  }, []);

  const handleOnPress = () =&amp;gt; {
    console.log(&quot;Partner username to find: &quot; + partnerUsername);
    const ref = firebase.database.ref();
    var partnerToken;
    ref.child(&quot;usernames/&quot; + partnerUsername).once(&quot;value&quot;, (snapshot) =&amp;gt; {
      // jesli partner istnieje to wez jego token
      if (snapshot.exists()) {
        let data = snapshot.val();
        partnerToken = data.token;
        saveUserToDb(partnerToken);
      } else {
        setPartnerUsernameError(true);
        error = true;
      }
    });

    function saveUserToDb(partnerToken) {
      firebase
        .auth()
        .signInAnonymously()
        .then(() =&amp;gt; {
          console.log(&quot;User signed in anonymously&quot;);

          firebase
            .database
            .ref(&quot;/users/&quot; + firebase.auth().currentUser.uid)
            .update({
              id: firebase.auth().currentUser.uid,
              name: props.location.state.name,
              username: username,
              partnerUsername: partnerUsername,
              partnerToken: partnerToken,
            })
            .then(() =&amp;gt; {
              console.log(
                &quot;Data updated. and: username is: &quot; +
                  username +
                  &quot;partner topken is:&quot; +
                  partnerToken
              );
              setPartnerToken(partnerToken);
              setRedirect(true);
            })
            .catch((error) =&amp;gt; {
              console.error(error);
            });
        })
        .catch((error) =&amp;gt; {
          if (error.code === &quot;auth/operation-not-allowed&quot;) {
            console.log(&quot;Enable anonymous in your firebase console.&quot;);
          }

          console.error(error);
        });
    }
  };

  let [fontsLoaded] = useFonts({
    &quot;GreatVibes-Regular&quot;: require(&quot;./assets/fonts/GreatVibes-Regular.ttf&quot;),
  });
  if (!fontsLoaded) {
    return &amp;lt;AppLoading /&amp;gt;;
  } else {
    return (
      &amp;lt;View style={styles.container}&amp;gt;
        &amp;lt;Text style={[styles.textHeader, { fontFamily: &quot;GreatVibes-Regular&quot; }]}&amp;gt;
          Enter your partner username
        &amp;lt;/Text&amp;gt;
        &amp;lt;TextInput
          style={styles.input}
          value={partnerUsername}
          onChangeText={(e) =&amp;gt; {
            setPartnerUsername(e);
          }}
        /&amp;gt;
        &amp;lt;TouchableHighlight onPress={() =&amp;gt; handleOnPress()}&amp;gt;
          &amp;lt;Image source={require(&quot;./assets/arrowRight.png&quot;)} /&amp;gt;
        &amp;lt;/TouchableHighlight&amp;gt;

        {partnerUsernameError &amp;amp;&amp;amp; (
          &amp;lt;Text style={{ color: &quot;red&quot; }}&amp;gt;
            Partner username is not valid. Please try again.
          &amp;lt;/Text&amp;gt;
        )}
        {redirect &amp;amp;&amp;amp; (
          &amp;lt;Redirect
            to={{
              pathname: &quot;/HomeScreen&quot;,
              state: { username: propusername },
            }}
          /&amp;gt;
        )}
      &amp;lt;/View&amp;gt;
    );
  }
}

export default withRouter(Login);

const styles = StyleSheet.create({
  container: {
    display: &quot;flex&quot;,
    alignItems: &quot;center&quot;,
    paddingTop: &quot;59%&quot;,
    height: &quot;100%&quot;,
    backgroundColor: global.primaryColor,
  },
  textHeader: {
    color: global.secondaryColor,
    fontSize: 48,
    marginBottom: &quot;10%&quot;,
    textAlign: &quot;center&quot;,
  },
  input: {
    width: &quot;75%&quot;,
    height: 60,
    color: global.secondaryColor,
    fontSize: 18,
    padding: 16,
    marginBottom: &quot;45%&quot;,
    borderRadius: 100,
    borderWidth: 1,
    borderColor: global.secondaryColor,
  },
});&lt;/pre&gt;



&lt;p&gt;Odczytuję to w komponencie &lt;strong&gt;HomeScreen&lt;/strong&gt;:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
 useEffect(() =&amp;gt; {
    console.log(&quot;LOCATION STATE:&quot; + props.location.state.username);
  }, []);&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Dziwne jest to, że gdy zmienną &lt;em&gt;redirect &lt;/em&gt;w komponencie Login zmieniam defaultowo na true, wykonuje się redirect i mogę normalnie odczytać wartości. Jednak gdy zmienna jest ustawiona na false i zmieniam ją dopiero w funkcji &lt;em&gt;SaveToDb&amp;nbsp;&lt;/em&gt;to wartości zwracają undefined. Jaki może być tego powód bo kończą mi się pomysły?&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Probowałem użyc hooka useLocation. Redirecta zamieniałem na props.history.push.&amp;nbsp;Probowałem zmieniać lokalizację tego Redirecta w kodzie. Tak jak wspominałem wartości w HomeScreenie mogę odczytać tylko wtedy gdy redirect wykonuje się od razu, a nie jeśli jest robiony warunkowo.&amp;nbsp;Routy w App.js wyglądają okej. Używam&amp;nbsp;react native router do nawigacji.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Bardzo proszę o pomoc, nie daje mi spokoju ten problem :/&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/549052/props-location-state-username-zwaraca-undefined-react-native</guid>
<pubDate>Sat, 14 Aug 2021 17:04:30 +0000</pubDate>
</item>
<item>
<title>ukrywanie komponentu w react native</title>
<link>https://forum.pasja-informatyki.pl/548609/ukrywanie-komponentu-w-react-native</link>
<description>Witam,&lt;br /&gt;
&lt;br /&gt;
Jak poprawnie w react / react native ukryć/skasować/zamienić komponent? Zalozmy sobie ze mam aplikacje w której mam 3 oddzielnie strony, chce przejść na inną stronę, tak więc chce zamienić główny komponent który zajmuje 80% ekranu (reszta to paski narzędzi itd.) na inny komponent.&lt;br /&gt;
&lt;br /&gt;
Chodzi mi o dodanie takiej nawigacji w zasadzie, nie wiem jak to do końca poprawnie nazwać ani zrobić w react native</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/548609/ukrywanie-komponentu-w-react-native</guid>
<pubDate>Sun, 08 Aug 2021 13:24:21 +0000</pubDate>
</item>
<item>
<title>RN expo start =&gt; &quot;internal/modules/cjs/loader.js:883 throw err; ^ Error: Cannot find module 'source-map-support'&quot;?</title>
<link>https://forum.pasja-informatyki.pl/542450/expo-start-internal-modules-loader-throw-err-error-cannot-find-module-source-support</link>
<description>

&lt;p&gt;React Native&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;expo start &lt;/strong&gt;=&amp;gt; zamiast uruchomienia lokalnego severa dla aplikacji =&amp;gt; konsola wyświetla błąd:&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&quot; internal/modules/cjs/loader.js:883&amp;nbsp;&amp;nbsp; throw err;&amp;nbsp;&amp;nbsp; ^&amp;nbsp; Error: Cannot find module 'source-map-support' &quot;&lt;/strong&gt;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/542450/expo-start-internal-modules-loader-throw-err-error-cannot-find-module-source-support</guid>
<pubDate>Fri, 28 May 2021 09:18:33 +0000</pubDate>
</item>
<item>
<title>Backend dla aplikacji mobilnej</title>
<link>https://forum.pasja-informatyki.pl/541930/backend-dla-aplikacji-mobilnej</link>
<description>Cześć.&lt;br /&gt;
&lt;br /&gt;
Zamierzam zacząć projekt swojej aplikacji mobilnej. Sama aplikacja będzie &amp;quot;dzienniczkiem&amp;quot; treningowym, gdzie użytkownik będzie mógł utworzyć swój plan treningowy, wyliczać na jego podstawie swój progress etc.&lt;br /&gt;
&lt;br /&gt;
Za główną technologię wybrałem React Native. Do tego potrzebuję jeszcze backendu, który zapisywałby wszelkie informacje w bazie danych.&lt;br /&gt;
&lt;br /&gt;
Myślałem nad napisaniem api do komunikacji z bazą i wystawienie tego na jakimś darmowych hostingu, np. netlify. Drugą opcją jest podłączyć aplikację do firebase, ale nigdy z niego nie korzystałem, więc nawet nie wiem czy spełni on wymagania aplikacji.&lt;br /&gt;
&lt;br /&gt;
Co wy byście wybrali? A może jakieś całkowicie inne rozwiązanie?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/541930/backend-dla-aplikacji-mobilnej</guid>
<pubDate>Sun, 23 May 2021 08:25:05 +0000</pubDate>
</item>
<item>
<title>MER(native)N , ocena projektu</title>
<link>https://forum.pasja-informatyki.pl/521509/mer-native-n-ocena-projektu</link>
<description>

&lt;p&gt;Siemka wszystkim! Chciałem wam przedstawić coś nad czym aktualnie pracuje, i zapytać się was o jakieś rady propozycje. Z technologiami wyżej podanymi: mongoose, express/node, react / native, mam do czynienia od dwóch miesięcy. Pierwszy miesiąc to była sztywna nauka poprzez kurs, cały czas napędzała mnie idea realizacji projektu który uznałem za fajny. &lt;strong&gt;Ogólnie pragnę zauważyć, że nie piszę tego wpisu tylko dla zaawansowanych. A pragnę zaznaczyć ile samozaparcie może dać. Oraz chciałbym usłyszeć waszą ocenę.&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Idea projektu jest taka, oczywiście skopiowana z tego co słyszałem z revoluta ^_^ Aczkolwiek jest przeze mnie realizowana. Nie raz mi się zdarzyło pożyczyć komuś śmieszne pieniądze i o tym zapomnieć, czy też uznać że kwota jest o tyle śmieszna że po prostu potem kogoś poprosić o zwrot nie wypadało(A nie każdy jest na tyle życzliwy że bez przypomnienia zwróci, prawdopodobnie mogła ta osoba też zapomnieć). Więc wpadłem na pomysł zrealizowania aplikacji która będzie notować pieniądze które komuś pożyczam. Aby sobie trochę utrudnić postanowiłem zrobić aplikację którą z łatwością będę mógł rozszerzać. Stworzyć REST API, oraz po prostu z nim działać po stronie klienta.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Dobra kontynuując, bo urwałem wątek. Aplikacja nie dość że będzie notować pożyczki, to jeszcze jej zadaniem jest generowanie smsów z informacją o danej pożyczce. Lepiej! Aplikacja będzie miała zaimplementowanego CRONA, który będzie systematycznie wysyłał przypomnienia moim znajomym. Jeszcze lepiej! Aplikacja ma jeszcze w celach łączenie się z jakimś systemem płatnościowym, i ma umożliwić regulację długo przez wybraną przez użytkownika metodę płatności.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Cały projekt którym się chwale znajduje się pod tym linkiem:&amp;nbsp;&lt;a href=&quot;https://github.com/newadbie/BeFriendsApp/tree/%232/LoansSystem&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://github.com/newadbie/BeFriendsApp/tree/%232/LoansSystem&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Dodatkowym moim pytaniem jest teraz jedno, czy ma ktoś pomysł jakiej technologii mogę użyć do stworzenia takiego systemu płatnościowego? System nie musi działać na produkcji, chciałbym aby żeby odwzorowywał realne działania i interakcje z użytkownikiem. Wszystko było by tylko na platformie testowej, ponieważ ten projekt jest jednym większym projektem do mojego CV i więcej mi nie potrzeba, zwłaszcza że nakład finansowy na to nie pozwala (aplikacja z góry już wymaga kosztów ;/ )&lt;/p&gt;



&lt;p&gt;Dzięki wam z góry ;) Pozdrawiam, i z chęcią odpowiadam na pytania!&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/521509/mer-native-n-ocena-projektu</guid>
<pubDate>Wed, 16 Dec 2020 01:20:15 +0000</pubDate>
</item>
<item>
<title>SaveFood - aplikacja pomagająca oszczędzać żywność</title>
<link>https://forum.pasja-informatyki.pl/520859/savefood-aplikacja-pomagajaca-oszczedzac-zywnosc</link>
<description>

&lt;p&gt;Cześć, jakiś czas temu rozpoczęliśmy pracę nad autorską aplikacją mobilną realizowaną z wykorzystaniem takich technologii jak React Native, Expo i Node.js. Aplikacja jest już publicznie dostępna na platformie Google Play i Apple Store i byłbym bardzo wdzięczny za jej zainstalowanie i przetestowanie ( zgłaszanie błędów mile widziane :) ).&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://webstrong.pl/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Save Food banner&quot; src=&quot;https://webstrong.pl/assets/SaveFood/promo-banners/pl/sf-promo.png&quot; style=&quot;height:281px; width:500px&quot;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;A teraz trochę o samym projekcie&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Save Food, bo o tej aplikacji mowa, to projekt stworzony w celu ograniczenia marnowania żywności, jak i wspierania polskiej organizacji charytatywnej “Pajacyk”. Save Food zwraca uwagę użytkownikowi na to, jak dużo jedzenia marnuje i jakiego typu produktów powinien kupować mniej. Dzięki oszacowanej cenie zmarnowanych produktów użytkownik może przekazać wartość zmarnowanych produktów na akcję “Pajacyk” (lub jakąkolwiek inną organizację charytatywną wykonując samodzielnie przelew). Dodatkowo dzięki wbudowanemu skanerowi kodów kreskowych i integracji z międzynarodowym API użytkownik jest w stanie skanować zmarnowane produkty i w szybki sposób dodawać je do listy zmarnowanych.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Google Play:&amp;nbsp;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.webStrong.saveFood&quot; rel=&quot;nofollow&quot;&gt;https://play.google.com/store/apps/details?id=com.webStrong.saveFood&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Apple Store:&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://apps.apple.com/app/save-food-app/id1520027228&quot; rel=&quot;nofollow&quot;&gt;https://apps.apple.com/app/save-food-app/id1520027228&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Kod źródłowy na GitHub:&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/webstrongteam/save-food&quot; rel=&quot;nofollow&quot;&gt;https://github.com/webstrongteam/save-food&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Dodatkowo od pewnego czasu przyjmujemy zlecenia dotyczące realizacji stron internetowych lub aplikacji mobilnym na system android i iOS.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Więcej informacji można znaleźć tutaj: &lt;a href=&quot;https://webstrong.pl/&quot; rel=&quot;nofollow&quot;&gt;https://webstrong.pl/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Z góry dziękuję za pomoc i poświęcony czas :)&lt;/strong&gt;&lt;/p&gt;</description>
<category>Nasze projekty</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/520859/savefood-aplikacja-pomagajaca-oszczedzac-zywnosc</guid>
<pubDate>Fri, 11 Dec 2020 16:20:24 +0000</pubDate>
</item>
<item>
<title>Maker - ToDo App, zaawansowana aplikacji do zarządzania zadaniami</title>
<link>https://forum.pasja-informatyki.pl/519951/maker-todo-app-zaawansowana-aplikacji-do-zarzadzania-zadaniami</link>
<description>

&lt;p&gt;Cześć, przez ostatnie dwa miesiące pracowałem nad aktualizacją autorskiej aplikacji mobilnej realizowanej z wykorzystaniem takich technologii jak React Native i Expo. Aktualizacja jest już publicznie dostępna na platformie Google Play i Apple Store i byłbym bardzo wdzięczny za jej zainstalowanie i przetestowanie ( zgłaszanie ewentualnych błędów/poprawek mile idziane :) ).&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://webstrong.pl/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Maker - ToDo app logo&quot; src=&quot;https://webstrong.pl/assets/Maker/promo_images/maker_promo.png&quot; style=&quot;height:281px; width:500px&quot;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;A teraz trochę o samym projekcie&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Choć zabrzmi to dość banalnie mowa tutaj o aplikacji Maker, czyli To-Do liście. Nie jest to jednak prosta To-Do lista jaką można znaleźć w różnych kursach czy artykułach. Moim pomysłem na aplikację było zrealizowanie To-Do listy która spełni wszystkie moje wymagania, które stawiałem przed innymi typowo komercyjnymi aplikacjami tego typu. Maker oferuje system sortowania i wyszukiwania zadań, przydzielania im opisu, daty, godziny, powtarzalności, priorytetu i kategorii. Ponadto aplikacja oferuje dodatkowe opcje takie jak zarządzanie już istniejącymi kategoriami, śledzenie statystyk swojego konta, dostosowywania kolorystyki i funkcji aplikacji czy tworzenia backupów.&lt;/p&gt;



&lt;p&gt;Maker powstał przede wszystkim w celach nauki React Native jednak dziś przerodziła się w coś znacznie większego, w jeden z moich największych prywatnych projektów opartych na RN.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Google Play: &lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.webStrong.maker&quot; rel=&quot;nofollow&quot;&gt;https://play.google.com/store/apps/details?id=com.webStrong.maker&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Apple Store:&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://apps.apple.com/us/app/maker-todo-list/id1502811101&quot; rel=&quot;nofollow&quot;&gt;https://apps.apple.com/us/app/maker-todo-list/id1502811101&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Kod źródłowy na GitHub:&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://github.com/webstrongteam/maker&quot; rel=&quot;nofollow&quot;&gt;https://github.com/webstrongteam/maker&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Dodatkowo&amp;nbsp;od pewnego czasu przyjmuję zlecenia dotyczące realizacji stron internetowych lub aplikacji mobilnym na system android i iOS.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Więcej informacji można znaleźć tutaj: &lt;a href=&quot;https://webstrong.pl/&quot; rel=&quot;nofollow&quot;&gt;https://webstrong.pl/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Z góry dziękuję za pomoc i poświęcony czas :)&lt;/strong&gt;&lt;/p&gt;</description>
<category>Nasze projekty</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/519951/maker-todo-app-zaawansowana-aplikacji-do-zarzadzania-zadaniami</guid>
<pubDate>Fri, 04 Dec 2020 15:35:44 +0000</pubDate>
</item>
<item>
<title>React Native</title>
<link>https://forum.pasja-informatyki.pl/516332/react-native</link>
<description>Witam, zaczynam naukę z react native mam pytanie czy da się ustawić czcionkę z google fonts a jeśli tak to jak.</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/516332/react-native</guid>
<pubDate>Fri, 13 Nov 2020 14:31:45 +0000</pubDate>
</item>
<item>
<title>React native, prosta aplikacja laguje na androidzie</title>
<link>https://forum.pasja-informatyki.pl/511780/react-native-prosta-aplikacja-laguje-na-androidzie</link>
<description>

&lt;p&gt;Witam, chcę zrobić swoją pierwszą aplikację w react native. Odpalam ją przez expo i zauważyłem spore lagi przy czynnościach typu wpisywanie liter w inputach, przy scrollowaniu, czy&amp;nbsp;klikaniu buttonów. No generalnie cała aplikacja zacina.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Od razu mówię, nie jest to wina kodu bo przy tworzeniu nowego projektu&amp;nbsp;laguje nawet defaultowy kod aplikacji. Tutaj właśnie on delikatnie zmieniony:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
import { StatusBar } from &quot;expo-status-bar&quot;;
import React from &quot;react&quot;;
import { StyleSheet, Text, View, TextInput } from &quot;react-native&quot;;

export default function App() {
  return (
    &amp;lt;View style={styles.container}&amp;gt;
      &amp;lt;Text&amp;gt;Home&amp;lt;/Text&amp;gt;
      &amp;lt;TextInput style={styles.searchInput} /&amp;gt;
      &amp;lt;StatusBar style=&quot;auto&quot; /&amp;gt;
    &amp;lt;/View&amp;gt;
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: &quot;#fff&quot;,
    paddingTop: 20,
  },
  searchInput: {
    marginTop: 200,
    borderWidth: 1,
  },
});
&lt;/pre&gt;



&lt;p&gt;aktualizowałem expo-cli, wyłączyłem remote debug i próbowałem odpalić na ios'ie (tam jest ok, czyli problem jest tylko na androidzie, bądź moim telefonie(?)).&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Zauważyłem też, że usuwając &amp;lt;StatusBar&amp;gt; po automatycznym&amp;nbsp;refreshu status bar robi się czarny, tak jakby odseparowany od aplikacji&amp;nbsp;i aplikacja działa tak jak powinna, bez lagów. Jednak to chyba jakiś bug bo po manualnym refreshu status bar ponownie przybiera kolor backgroundu&amp;nbsp;i aplikacja zacina.&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Coś pominąłem, coś robię źle, czy o co chodzi bo już&amp;nbsp;nic nie rozumiem dlaczego tak się dzieje?&lt;/p&gt;



&lt;p&gt;Z góry dziękuje za pomoc :)&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/511780/react-native-prosta-aplikacja-laguje-na-androidzie</guid>
<pubDate>Wed, 14 Oct 2020 18:49:02 +0000</pubDate>
</item>
<item>
<title>React Native - Expo AV.  setOnPlaybackStatusUpdate nie widzi zmian stanu w hookach</title>
<link>https://forum.pasja-informatyki.pl/473045/react-native-expo-av-setonplaybackstatusupdate-nie-widzi-zmian-stanu-w-hookach</link>
<description>

&lt;p&gt;Mam kod odtwarzacza audio. Ma on m.in. mieć przycisk odtwarzania w pętli więc w momencie zakończenia odtwarzania pliku, chcę ustawić pozycje odtwarzania na 0, ale tylko w momencie kiedy przycisk pętli jest włączony. Mam jednak taki problem, że funkcja wysyłana do Audio.Sound.setOnPlaybackStatusUpdate z expo-av nie widzi zmianu stanu przez setInLoop. Czyli komponent się ładuje, inLoop jest równy false. Naciskam przycisk, inLoop jest równy true, ale funkcja przekazana do&amp;nbsp;setOnPlaybackStatusUpdate, która wykonuje się co chwile loguje, false. Dlaczego, false a nie true, i jak to naprawić?&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
import React, { useState, useEffect, useRef } from 'react';
import { Audio } from 'expo-av';
import { Text } from 'react-native';

function Player() {
  const [inLoop, setInLoop] = useState(false);
  const sound = useRef&amp;lt;Audio.Sound | undefined&amp;gt;();

  useEffect(() =&amp;gt; {
    sound.current = new Audio.Sound();
    sound.current
      .loadAsync({ uri: 'https://www.thesoundarchive.com/starwars/yoda_twisted.mp3' })
      .then(() =&amp;gt; {
        sound.current?.playAsync();
      });

    sound.current.setOnPlaybackStatusUpdate(() =&amp;gt; {
      console.log(inLoop);
    });

    return () =&amp;gt; {
      sound.current?.stopAsync();
    };
  }, []);

  return &amp;lt;Text onPress={() =&amp;gt; setInLoop(true)}&amp;gt;CHANGE - {inLoop + ''}&amp;lt;/Text&amp;gt;;
}&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/473045/react-native-expo-av-setonplaybackstatusupdate-nie-widzi-zmian-stanu-w-hookach</guid>
<pubDate>Mon, 24 Feb 2020 12:23:25 +0000</pubDate>
</item>
<item>
<title>Czy React Native pod strony internetowe?</title>
<link>https://forum.pasja-informatyki.pl/472635/czy-react-native-pod-strony-internetowe</link>
<description>Dzień dobry!&lt;br /&gt;
&lt;br /&gt;
Chciałbym wiedzieć czy za pomocą frameworka React Native da się zbudować fajne strony internetowe. Za bardzo w web świecie nie siedzę, dlatego też pytam, bo słyszałem, że to framework bardziej pod gry mobilne. &lt;br /&gt;
&lt;br /&gt;
Taki C++ też jest &amp;quot;pod gry&amp;quot;, natomiast nigdy w tym języku gier nie piszę i właśnie się zastanawiam, czy framework React Native też może mieć wiele zastosowań (no, szczegolnie myślę o stronie internetowej).&lt;br /&gt;
&lt;br /&gt;
Póki co, jestem trochę laikiem jeżeli chodzi o frameworki i wielu rzeczy jeszcze nie wiem. &lt;br /&gt;
&lt;br /&gt;
Z góry dziękuję za pomoc :)</description>
<category>Inne języki</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/472635/czy-react-native-pod-strony-internetowe</guid>
<pubDate>Sat, 22 Feb 2020 10:59:29 +0000</pubDate>
</item>
<item>
<title>React Redux a React Native</title>
<link>https://forum.pasja-informatyki.pl/447475/react-redux-a-react-native</link>
<description>Cześć.&lt;br /&gt;
&lt;br /&gt;
Mam pytanie zaczynam się uczyć React Native.I zastanawiam się na czym to polega.W sensie czy jak mam napisaną już aplikacje na React Redux to jak to teraz miało by wyglądając z React Native.W sensie czy to muszę pisać od nowa bo to osobna biblioteka czy jak ?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/447475/react-redux-a-react-native</guid>
<pubDate>Sat, 31 Aug 2019 08:32:56 +0000</pubDate>
</item>
<item>
<title>React a React Native</title>
<link>https://forum.pasja-informatyki.pl/446787/react-a-react-native</link>
<description>Cześć.&lt;br /&gt;
&lt;br /&gt;
Nasunęło mi się pytanie na , które nie mogę znaleźć odpowiedzi.Otóż jaka jest różnica miedzy w tworzeniu projektu na React i React Native jak to wygląda tak od podszewki ? I czy jeśli mam projekt już napisany &amp;nbsp;w samym React to mogę to zmodyfikować na React Native ?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/446787/react-a-react-native</guid>
<pubDate>Mon, 26 Aug 2019 10:30:38 +0000</pubDate>
</item>
<item>
<title>Maker - ToDo app, czyli coś więcej niż prosta To-Do lista</title>
<link>https://forum.pasja-informatyki.pl/440154/maker-todo-app-czyli-cos-wiecej-niz-prosta-to-do-lista</link>
<description>

&lt;p&gt;&lt;a href=&quot;https://play.google.com/store/apps/details?id=com.webStrong.maker&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;img alt=&quot;Maker - ToDo list&quot; src=&quot;http://webstrong.pl/Maker/promo_images/maker_todo_list_promo.png&quot; style=&quot;height:244px; width:500px&quot;&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Cześć, przez ostanie dwa miesiące pracowałem nad własnym projektem aplikacji mobilnej realizowanej dzięki &lt;strong&gt;React Native&lt;/strong&gt; i &lt;strong&gt;Expo Framework&lt;/strong&gt;. Wreszcie udało mi się skończyć pierwszą wersję produkcyjną i można ją już przetestować na własnym urządzeniu z system Android.&lt;/p&gt;



&lt;p&gt;
&lt;br&gt;
Choć zabrzmi to dość banalnie mowa tutaj o aplikacji Maker, czyli To-Do liście. Nie jest to jednak prosta To-Do lista jaką można znaleźć w różnych kursach czy artykułach. Moim pomysłem na aplikację było zrealizowanie To-Do listy która spełni wszystkie moje wymagania, które stawiałem przed innymi typowo komercyjnymi aplikacjami tego typu. Maker oferuje system sortowania i wyszukiwania zadań, przydzielania im opisu, daty, godziny, powtarzalności, priorytetu i kategorii. Ponadto aplikacja oferuje dodatkowe opcje takie jak zarządzanie już istniejącymi kategoriami, śledzenie statystyk swojego konta, dostosowywania kolorystyki i funkcji aplikacji czy tworzenia backupów.&lt;/p&gt;



&lt;p&gt;
&lt;br&gt;
Aplikacja ta powstała przede wszystkim w celach nauki React Native jednak dziś przerodziła się w coś znacznie większego, w jeden z moich największych prywatnych projektów.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;Aplikację można pobrać tutaj:&lt;/strong&gt; &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.webStrong.maker&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://play.google.com/store/apps/details?id=com.webStrong.maker&lt;/a&gt;
&lt;br&gt;
&lt;strong&gt;Kod źródłowy jest dostępny tutaj:&lt;/strong&gt; &lt;a href=&quot;https://github.com/mateuszpijanowski/maker&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://github.com/mateuszpijanowski/maker&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Jeżeli ktoś poświęciłby chwilę na sprawdzenie tej aplikacji, to byłbym bardzo wdzięczny i jednocześnie zachęcam do dzielenia się swoimi pomysłami na przyszłe nowości i opiniami dotyczącymi aktualnej wersji :)&lt;/p&gt;



&lt;p&gt;*Byłbym także wdzięczny za screeny wyglądu aplikacji na różnych urządzeniach.&lt;/p&gt;



&lt;p&gt;Pozdrawiam i dziękuję, Mateusz :)&lt;/p&gt;</description>
<category>Nasze projekty</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/440154/maker-todo-app-czyli-cos-wiecej-niz-prosta-to-do-lista</guid>
<pubDate>Sun, 14 Jul 2019 13:49:39 +0000</pubDate>
</item>
<item>
<title>Native Vue odpala app.js zamiast app.vue</title>
<link>https://forum.pasja-informatyki.pl/438816/native-vue-odpala-app-js-zamiast-app-vue</link>
<description>

&lt;p&gt;Hej,&lt;/p&gt;



&lt;p&gt;Zacząłem uczyć się tworzenia natywnych apek za pomocą Vue.JS'a. Pojawił się pewnie problem na starcie któego nie mogę rozwiązać. Przy tworzeniu projektu, w folderze pojawia się plik App.js i to właśnie on jest uruchamiany. Robiłem wszystko dokładnie krok po kroku jak w kursie. Dla nauczyciela nie pojawia się ten plik i jest uruchamiane app.vue.&lt;/p&gt;



&lt;p&gt;Po usunięciu app.js, aplikacja uruchamia się z pliku app.vue ale sypie także błędem.&lt;/p&gt;



&lt;pre class=&quot;brush:bash;&quot;&gt;
Warning: ImageStore is deprecated and will be removed in a future release. To get a base64-encoded string from a local image use either of the following third-party libraries:* expo-file-system: `readAsStringAsync(filepath, 'base64')`* react-native-fs: `readFile(filepath, 'base64')`&lt;/pre&gt;



&lt;p&gt;Czy ktoś może wiej jak rozwiązać owy problem ?&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/438816/native-vue-odpala-app-js-zamiast-app-vue</guid>
<pubDate>Fri, 05 Jul 2019 23:00:11 +0000</pubDate>
</item>
<item>
<title>React Native paczka do nawigacji</title>
<link>https://forum.pasja-informatyki.pl/436089/react-native-paczka-do-nawigacji</link>
<description>Witam!&lt;br /&gt;
&lt;br /&gt;
Kupiłem kurs na Udemy odnośnie React Native &lt;a href=&quot;https://www.udemy.com/react-native-the-practical-guide/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://www.udemy.com/react-native-the-practical-guide/&lt;/a&gt; I mam pytanie na temat navigacji ponieważ w tym kursie jest powiedziane że paczka react-navigation nie działa stabilnie i należy używać paczki react-native-navigation w wersji 1 czyli &lt;a href=&quot;https://github.com/wix/react-native-navigation&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;https://github.com/wix/react-native-navigation&lt;/a&gt;. Czy ktoś się może jakoś wypowiedzieć na ten temat? Czy może to zostało w kursie powiedziane ponieważ w momencie tworzenia kursu paczka nie działała stabilnie?</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/436089/react-native-paczka-do-nawigacji</guid>
<pubDate>Wed, 19 Jun 2019 18:19:19 +0000</pubDate>
</item>
<item>
<title>Mobile App Development</title>
<link>https://forum.pasja-informatyki.pl/431371/mobile-app-development</link>
<description>Programuje głównie w javascript(react) i chciałbym zaczać bawić się z mobile apps.&lt;br /&gt;
&lt;br /&gt;
Do wyboru z tego co wiem jest kotlin na android, swift na mac os oraz react native i flutter które są na obie platformy.&lt;br /&gt;
&lt;br /&gt;
Który sposób tworzenia aplikacji z wyżej wymienionych jest najlepszy do rozpoczęcia nauki i dlaczego?&lt;br /&gt;
&lt;br /&gt;
Biorąc pod uwagę że programuje w react to react native przychodzi do głowy jako pierwszy ale dart imo podobny do js'a i ma dobre resources do nauki.</description>
<category>Inne języki</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/431371/mobile-app-development</guid>
<pubDate>Wed, 22 May 2019 12:35:03 +0000</pubDate>
</item>
<item>
<title>React Native jaka książka</title>
<link>https://forum.pasja-informatyki.pl/427329/react-native-jaka-ksiazka</link>
<description>Witam,&lt;br /&gt;
&lt;br /&gt;
Szukam jakiejś dobrej książki do React Native.&lt;br /&gt;
&lt;br /&gt;
Od jakiegoś czasu uczę się tego frameworka, kilka małych, w miarę sensownych apek i jestem w trakcie pisania czegoś bardziej zaawansowanego(jak na moje obecne możliwości). Obecnie posiadam już książkę &amp;quot;React Native. Tworzenie aplikacji mobilnych w języku JavaScript&amp;quot; autorstwa Bonnie Eisenman, ale przydało by mi się lektura zawierająca coś więcej niż tylko podstawy.&lt;br /&gt;
&lt;br /&gt;
Od razu odpowiem, na komentarze że nie opłaca się kupować książek do frameworków bo w internecie jest wszystko. Owszem zgadzam się z tym i oczywiście korzystam z tutoriali, dokumentacji czy różnego rodzaju forów, ale pomimo tego znacznie przyjemniej jest mi się uczyć z &amp;quot;papierowego źródła&amp;quot; i byłbym wdzięczy za polecenie jakiegoś.&lt;br /&gt;
&lt;br /&gt;
Dodam że interesują mnie książki po polsku i po angielsku które można kupić z polskich stron(aliexpres, ebay itp. odpadają)</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/427329/react-native-jaka-ksiazka</guid>
<pubDate>Wed, 24 Apr 2019 17:44:23 +0000</pubDate>
</item>
<item>
<title>błąd Execution failed for task ':app:compileDebugJavaWithJavac'. konfiguracja react native</title>
<link>https://forum.pasja-informatyki.pl/421576/blad-execution-failed-task-compiledebugjavawithjavac-konfiguracja-react-native</link>
<description>

&lt;p&gt;Próbuje zdebugowac wygenerowany kod mam zainstalowany android studio i zkonfigurowałem go odpowiednio takze w panelu sterowania ustawilem odpowiednia sciezke stworzyłem serwer i przy wpisaniu react-native run-android wyskakuje mi błąd&amp;nbsp;Execution failed for task ':app:compileDebugJavaWithJavac'.Będe wdzięczny za wszystkie odpowiedzi.&lt;/p&gt;



&lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;https://forum.pasja-informatyki.pl/?qa=blob&amp;amp;qa_blobid=2930190832653476871&quot; style=&quot;height:320px; width:600px&quot;&gt;&lt;/p&gt;</description>
<category>Inne języki</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/421576/blad-execution-failed-task-compiledebugjavawithjavac-konfiguracja-react-native</guid>
<pubDate>Sun, 24 Mar 2019 19:06:05 +0000</pubDate>
</item>
<item>
<title>Renderowanie obiektów jako komponenty - ReactNative</title>
<link>https://forum.pasja-informatyki.pl/404031/renderowanie-obiektow-jako-komponenty-reactnative</link>
<description>

&lt;p&gt;Witam wszystkich, natrafiłem na dość nową sytuację z którą&amp;nbsp;już długo nie mogę sobie poradzić także zwracam się z problemem tutaj. Z backendu (firebase + node) otrzymuje przykładowe dane:&lt;/p&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
Object {
   &quot;-LVAJKVhDR7tK5GDHVq-&quot;: Object {
     &quot;description&quot;: &quot;Task&quot;,
     &quot;id&quot;: &quot;1wem1vcjqe9llak&quot;,
     &quot;name&quot;: &quot;New&quot;,
   },
   &quot;-LVAJP0oA6IvxXl3XWub&quot;: Object {
     &quot;description&quot;: &quot;Task&quot;,
     &quot;id&quot;: &quot;1wem1vcjqe9lzki&quot;,
     &quot;name&quot;: &quot;Next on&quot;,
   },
   &quot;1wem7qgjqe9h4p2&quot;: Object {
     &quot;description&quot;: &quot;Task&quot;,
     &quot;id&quot;: &quot;1wem7qgjqe9h4p2&quot;,
     &quot;name&quot;: &quot;News&quot;,
   },
 }&lt;/pre&gt;



&lt;p&gt;Chciałbym na podstawie tego renderować komponenty w react-native. Zwykle robiłem to funkcją map ale miałem przy tym tablice, a w firebase niestety takie rozwiązanie nie wchodzi w grę.&lt;/p&gt;



&lt;p&gt;Dodam też,&amp;nbsp;ze nie wiem jakie będą klucze tych wartości, są generowane przez bazę.&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/404031/renderowanie-obiektow-jako-komponenty-reactnative</guid>
<pubDate>Wed, 02 Jan 2019 16:14:24 +0000</pubDate>
</item>
<item>
<title>React Native - Połączenie z baza danych SQlite</title>
<link>https://forum.pasja-informatyki.pl/237464/react-native-polaczenie-z-baza-danych-sqlite</link>
<description>

&lt;p&gt;Witam. Czy ktoś może mi powiedzieć jak w react-native dokonać połączenia z bazą danych sqlite?&lt;/p&gt;



&lt;p&gt;W ramach nauki zainstalowałem sobie tą bibliotekę &lt;a href=&quot;https://github.com/andpor/react-native-sqlite-storage&quot; rel=&quot;nofollow&quot;&gt;https://github.com/andpor/react-native-sqlite-storage&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;i próbuję stworzyć bazę danych oraz dokonać jakichś operacji, ale niestety stoję w miejscu z tym samym błędem.&lt;/p&gt;



&lt;p&gt;Mój kod wygląda w ten sposób:&lt;/p&gt;



&lt;pre&gt;
constructor() {
    super();
    this.state = {
        countryName:'',
        progress:''
    };
    this.startDB();

}
startDB(){

        SQLite.openDatabase({name: 'test.db', createFromLocation : &quot;~example.db&quot;, location: 'Library'}).then((DB) =&amp;gt; {
            db = DB;
            this.setState({
                progress:this.state.progress+&quot;Database OPEN&quot;
            });
        }).catch(error =&amp;gt; {
           console.log(error);
           this.setState({
                progress:error
            });

        });
}

createDB(){

    db.executeSql('CREATE TABLE IF NOT EXISTS countrys( '
        + 'country_id INTEGER PRIMARY KEY NOT NULL, '
        + 'name VARCHAR(30) )');
}
adValue(){
    db.executeSql('INSERT INTO countrys (name) VALUES (&quot;Polska&quot;)');
}

showValue(){
    db.executeSql('SELECT name FROM countrys').then((results) =&amp;gt; {
        let len = results.rows.length;
        for (let i = 0; i &amp;lt; len; i++) {
            let row = results.rows.item(i);
            this.setState({
                countryName:this.state.countryName+row.name,
            });
        }

    }).catch((error) =&amp;gt; {
        console.log(error);
    });
};

render() {
    return (
        &amp;lt;View&amp;gt;
            &amp;lt;Button
                color={'royalblue'}
                onPress={this.createDB}
                title=&quot;Create DB&quot;
            /&amp;gt;
            &amp;lt;Button
                color={'orange'}
                onPress={this.adValue}
                title=&quot;Add&quot;
            /&amp;gt;
            &amp;lt;Button
                color={'brown'}
                onPress={this.showValue}
                title=&quot;Show&quot;
            /&amp;gt;

            &amp;lt;Text&amp;gt;{this.state.countryName}&amp;lt;/Text&amp;gt;
            &amp;lt;Text&amp;gt;{this.state.progress}&amp;lt;/Text&amp;gt;
        &amp;lt;/View&amp;gt;
    )
}&lt;/pre&gt;



&lt;pre class=&quot;brush:jscript;&quot;&gt;
 
AppRegistry.registerComponent('SqliteComponent', () =&amp;gt; SqliteComponent);&lt;/pre&gt;



&lt;p&gt;&amp;nbsp;&lt;/p&gt;



&lt;p&gt;Po uruchomieniu aplikacji i kliknięciu w kolejne przyciski otrzymuję w konsoli takie komunikaty:&lt;/p&gt;



&lt;blockquote&gt;


&lt;p&gt;03-22 13:55:55.248 3386 3545 I ReactNativeJS: OPEN database: test
&lt;br&gt;
.db
&lt;br&gt;
03-22 13:55:55.249 3386 3545 I ReactNativeJS: SQLite.open({&quot;name&quot;
&lt;br&gt;
:&quot;test.db&quot;,&quot;createFromLocation&quot;:&quot;~example.db&quot;,&quot;location&quot;:&quot;Library&quot;,
&lt;br&gt;
&quot;dblocation&quot;:&quot;libs&quot;,&quot;assetFilename&quot;:&quot;~example.db&quot;})
&lt;br&gt;
03-22 13:55:56.531 3386 3545 I ReactNativeJS: SQLite.backgroundEx
&lt;br&gt;
ecuteSqlBatch({&quot;dbargs&quot;:{&quot;dbname&quot;:&quot;test.db&quot;},&quot;executes&quot;:[{&quot;qid&quot;:111
&lt;br&gt;
1,&quot;sql&quot;:&quot;SELECT 1&quot;,&quot;params&quot;:[]},{&quot;qid&quot;:1111,&quot;sql&quot;:&quot;CREATE TABLE IF
&lt;br&gt;
NOT EXISTS countrys( country_id INTEGER PRIMARY KEY NOT NULL, name
&lt;br&gt;
VARCHAR(30) ); &quot;,&quot;params&quot;:[]}]})
&lt;br&gt;
03-22 13:56:08.196 3386 3545 I ReactNativeJS: SQLite.backgroundEx
&lt;br&gt;
ecuteSqlBatch({&quot;dbargs&quot;:{&quot;dbname&quot;:&quot;test.db&quot;},&quot;executes&quot;:[{&quot;qid&quot;:111
&lt;br&gt;
1,&quot;sql&quot;:&quot;SELECT 1&quot;,&quot;params&quot;:[]},{&quot;qid&quot;:1111,&quot;sql&quot;:&quot;INSERT INTO coun
&lt;br&gt;
trys (name) VALUES (&quot;Polska&quot;)&quot;,&quot;params&quot;:[]}]})
&lt;br&gt;
03-22 13:56:11.047 3386 3545 I ReactNativeJS: SQLite.backgroundEx
&lt;br&gt;
ecuteSqlBatch({&quot;dbargs&quot;:{&quot;dbname&quot;:&quot;test.db&quot;},&quot;executes&quot;:[{&quot;qid&quot;:111
&lt;br&gt;
1,&quot;sql&quot;:&quot;SELECT 1&quot;,&quot;params&quot;:[]},{&quot;qid&quot;:1111,&quot;sql&quot;:&quot;SELECT name FROM
&lt;br&gt;
countrys&quot;,&quot;params&quot;:[]}]})
&lt;br&gt;
03-22 13:56:11.051 3386 3545 I ReactNativeJS: { [TypeError: undef
&lt;br&gt;
ined is not an object (evaluating 'results.rows.length')]
&lt;br&gt;
03-22 13:56:11.051 3386 3545 I ReactNativeJS: line: 76888,
&lt;br&gt;
03-22 13:56:11.051 3386 3545 I ReactNativeJS: column: 21,
&lt;br&gt;
03-22 13:56:11.051 3386 3545 I ReactNativeJS: sourceURL: 'http:
&lt;br&gt;
//10.0.2.2:8081/index.android.bundle?platform=android&amp;amp;dev=true&amp;amp;hot=
&lt;br&gt;
true&amp;amp;minify=false' }
&lt;br&gt;
03-22 13:57:06.646 3386 3545 I ReactNativeJS: 'Setting debug to:'
&lt;br&gt;
, true
&lt;br&gt;
03-22 13:57:06.646 3386 3545 I ReactNativeJS: Promise based runti
&lt;br&gt;
me ready
&lt;br&gt;
03-22 13:57:06.646 3386 3545 I ReactNativeJS: [React Transform HM
&lt;br&gt;
R] Patching SqliteComponent&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;&amp;nbsp;
&lt;/p&gt;

&lt;p&gt;Niestety nigdy wcześniej nie pracowałem z bazą danych SQlite więc jest to dla mnie nowum.&lt;/p&gt;




&lt;p&gt;Jeśli dobrze rozumiem polecenie openDatabase stworzy plik jeśli nie istnieje. Chyba że muszę go wcześniej jakoś sam stworzyć?&lt;/p&gt;



&lt;p&gt;Czy ktoś może spojrzeć na kod i powiedzieć dlaczego to nie działa?&lt;/p&gt;



&lt;p&gt;Dziękuję&lt;/p&gt;</description>
<category>JavaScript</category>
<guid isPermaLink="true">https://forum.pasja-informatyki.pl/237464/react-native-polaczenie-z-baza-danych-sqlite</guid>
<pubDate>Wed, 22 Mar 2017 12:47:11 +0000</pubDate>
</item>
</channel>
</rss>