TLDR:
The Cookie Store API is a new browser API built to expose cookies to service worker and offer an asynchronous alternative to document.cookie. It’s available in Chrome Browser starting from version 87.

Are you sick and tired of weird ways to get cookies fromdocument.cookie ? Hate it that you don’t know whether the cookie you set was actually saved or not? Introducing: Cookie Store API, available on Chrome version 87!

Image for post
Image for post
Photo by Christina Branco on Unsplash

Motivation

We all use HTTP Cookies almost daily, but working with them was never an easy task.
The cookies interface is overly complexed and contains performance issues. Saving all of the cookies in document.cookie


TL;DR:
Scheduling is a mechanism introduced lately by the React team to manage and prioritise tasks in the browser. It has become a case study for Google Chrome Dev team, to create a “Main Thread Scheduling” API.
This is groundbreaking work done by both of the teams. In this article I’ll talk about the APIs, how to use them, and how they will make a difference for our users!

If you were a part of the Frontend community for the past year and a half, the term “Concurrent” appears in almost every second tweet.
It all started with Dan Abramov’s talk Beyond React 16 at JSConf Iceland 2018. Dan showed how the React team built a generic way to ensure that high-priority updates don’t get blocked by a low-priority update. …


Browsing multiple projects, I encountered a recurring pattern when trying to write a custom render for components that use Providers (React-Redux’s Provider, React-Intl’s IntlProvider for example).
This pattern usually looks like this:

renderWithRedux example, it’s a bad practice
renderWithRedux example, it’s a bad practice

This function is nice. It creates a utility that lets us call it whenever we want to test a connected component. The only problem is, it’s limited and causes an inconsistent behavior.
Usually, our app will work with several Providers, not only one, and this solution becomes squeaky when we try to add more Providers to it.
Another thing is that using it will cause inconsistency since we will call renderWithRedux every time instead of calling render as we usually do and we will also import the renderWithRedux from our test-utils file and all the other RTL utils like screen and fireEvent from @testing-library/react. …


TL;DR — StrictMode is a feature added in version 16.3 and aimed to help us in finding potential problems in an application, at the moment especially for Concurrent-Mode which is React’s ability to concurrently render, suspend, and resume rendering trees in the background while remaining interactive.

Last month on twitter, I encountered a tweet by Sebastian Markbåge a React core team member asking developers if their app is running in <StrictMode>:

Image for post
Image for post
Taken from Sebastian’s twitter page

The results blew my mind, 70% of us aren’t using it and never tried it!
At the moment, StrictMode helps us adapt our app to ⚡ Concurrent React ⚡ (Will be covered soon).
With React-Conf just around the corner (24–25/10), we still don’t know what the keynote by Tom Occhino and Yuzhi Zheng will be about, it looks like Concurrent mode might arrive sooner than we thought. …


React as we all know it, is changing. As a frontend developer with React experience for the past 3 years, selling me these changes was quite hard.
I’m here today as the seller and not as the buyer, hoping I will catch you in the fever I got once I understood what’s behind all these changes :)

Image for post
Image for post

After the React team announced Hooks, and pushed functional components as a “solution for all our problems”, this thought ran in my head, why should we use React’s defaultProps and not ES6 Default values for functional components? …


I’ve been interviewing for a while now and right after my first session of interviews with some candidates, I came to an epiphany, I’m doing this all wrong.

I decided to map out my desired skill set.

Some of them are “soft” skills that can be seen in an interview, and some are technical that can be tested or sometimes even asked in an interview. I’m here to share my thoughts on what is a good developer in my eyes. Keep in mind, these are my thoughts, it can be subjective.

Image for post
Image for post
Looking for our superman/wonder woman by Esteban Lopez on Unsplash

Passion

Neil deGrasse Tyson said: “Passion is what gets you through the hardest times”, I can’t agree more. Sometimes we get to the hard times in our job, the times where we feel like we’re working on auto-pilot. That’s where you need passion, you need the fire to find the tiniest joy in everything you do.
You’re looking for the one that “kicks” the comfort zone aside, is passionate to work and to learn new things, passionate for every little part of the job (even CSS). …


Image for post
Image for post
Photo by Jamie Street on Unsplash

After my last post, I came to realize that while coding, I only use the tip of the iceberg when it comes to ECMAScript’s functionality.
So I decided to go on a journey and find out what’s new, what’s already implemented and what’s next.
Before we start the journey, let me just do a quick review over the TC39 process for ECMAScript features.

TC39

Technical Committee 39 is the committee responsible for evolving JavaScript; its members are companies.
The TC39 process is the solution to a main problem that occurred in 2015 when trying to release ES2015.
As ES2015 was built from December 2009(ES5) to June 2015, it included a large amount of features. …


Image for post
Image for post
An illustration of my package.json. Photo by chuttersnap on Unsplash

Yesterday I had a nightmare about a problem I bumped into while coding my new project.
While searching for a solution, I couldn’t find a package that could help me. I woke up all sweaty, breathing heavily with tears.

After the last few projects I worked on, I realized something about us developers. We always seek the easiest way to do something; its in our nature.
While this helps us be efficient in a fast-moving industry, it does have its pitfalls.
The main one can be seen in day to day coding.
These days, almost every problem has a solution. …

About

Matan Borenkraout

Frontend Engineer | Creating better software, one word at a time | Matan.io

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store