Exposing Methods from React Functional Components

In React we are using props to control our components. But sometimes we need more...
██╗ ██╗██╗ █████╗ ██████╗ ██╗███╗ ███╗██╗██████╗ ██╗ ██╗ ██████╗ ██╗ ██╗██╗ ██╗ ██║ ██║██║ ██╔══██╗██╔══██╗██║████╗ ████║██║██╔══██╗ ██║ ██║██╔═══██╗██║ ██║██║ ██╔╝ ██║ ██║██║ ███████║██║ ██║██║██╔████╔██║██║██████╔╝ ██║ ██║██║ ██║██║ ██║█████╔╝ ╚██╗ ██╔╝██║ ██╔══██║██║ ██║██║██║╚██╔╝██║██║██╔══██╗ ╚██╗ ██╔╝██║ ██║╚██╗ ██╔╝██╔═██╗ ██╗╚████╔╝ ███████╗██║ ██║██████╔╝██║██║ ╚═╝ ██║██║██║ ██║ ╚████╔╝ ╚██████╔╝ ╚████╔╝ ██║ ██╗ ╚═╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚═╝╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝
Hi and welcome to my blog! 👋
I usually write about mobile and web development. React Native, React and anything else I'm interested in.

In React we are using props to control our components. But sometimes we need more...

We will use Expo's create-expo-app command recommended by the docs. Also, we will add ESLint, Prettier, and some custom configurations that will make our development process better.

ThumbHash is a very compact representation of a placeholder for an image. Store it inline with your data and show it while the real image is loading for a smoother loading experience.

With absolute path imports, we can do import { functionA } from 'src/modules/moduleA'. Notice that the path starts with src instead of ../../.. dots when we use relative paths.

Fastify is a fast and low overhead web framework highly focused on providing the best developer experience with the least overhead and a powerful plugin architecture.

Recently, I decided to give a try to a split keyboard. You can find a lot of people saying that spit keyboards improve their productivity, and posture, remove hand pain, etc. Sounds interesting, right?

How many hours do you need to set up all your favorite tools on a new machine? What if your colleague or friend wants the same setup and asks you for help? Or maybe you want to change something, but you set it up a long time ago and have no idea what you need to change...

Node.js has the process object with stdout property which is a stream connected to stdout. Using the process.stdout property, we can access several useful properties and methods: columns, rows, cursorTo, and write. These are essentials to start "animate" something in the terminal.

To receive push notifications we need to ask the user permission first. The requestPermissionsAsync function will show the user standard dialog asking to allow displaying alerts, setting badge count, and playing sounds. Unfortunately, the docs have no information on how to change the dialog's text and make it more personal for our app.

Often, we have videos of different formats and resolutions from our phones and cameras, and also from our friends and family. Sometimes, these videos are uncompressed, so they take up a lot of space. There are many methods how we can solve this problem. But here, I would like to tell you about FFmpeg.

Imaging we need to build a simple UI for an article preview with a button. Let's start building it from the button. Why not? 🙃

When comparing default exports with named exports, I think that both methods are good. But I can see some advantages of named exports.

In general, conditional rendering in React Native is the same as in React. But be aware, that in React Native we can render strings only inside the Text component. So, for example, if we will try to put a string inside a View we will get an error.

Sometimes we can see that people tend to wrap every callback function into useCallback hook and use memo for every component in their app (even for really simple components like buttons). And if you will ask why do they do that, the answer probably will be "to make the app faster". But is it really true?