Pull to refresh
38.05

TypeScript *

A strict syntactical superset of JavaScript

Show first
Rating limit
Level of difficulty

React Custom Hook: useCookie

Level of difficulty Medium
Reading time 4 min
Views 2.9K

One of the key advantages of this custom hook is the ability to update the cookie value. The updateCookie function, returned by useCookie, enables you to modify the value of the cookie. By invoking this function with a new value and optional options, such as expiration or path, you can instantly update the cookie.

Read more
Rating 0
Comments 0

React Custom Hook: useClickOutside

Level of difficulty Medium
Reading time 2 min
Views 2.5K

The potential applications for useClickOutside are endless. It is particularly useful when implementing modal windows, dropdown menus, or any element that should be closed when a user interacts with anything outside of it. By incorporating useClickOutside, you can enhance the user experience by providing intuitive and efficient interactions.

Read more
Rating 0
Comments 3

React Custom Hook: useArray

Level of difficulty Medium
Reading time 2 min
Views 6.3K

In this article series, we embark on a journey through the realm of custom React hooks, discovering their immense potential for elevating your development projects. Our focus today is on the "useArray" hook, one of the many carefully crafted hooks available in the collection of React custom hooks.

Read more
Rating 0
Comments 0

Supercharge Your React Projects with Custom Hooks

Level of difficulty Medium
Reading time 42 min
Views 8.1K

In this article, we dive into the world of custom React hooks and explore the incredible potential they hold for supercharging your work projects. With over 20 carefully crafted hooks at your disposal, I personally utilize these hooks in my own work projects, and now I'm excited to share them with you. From enhancing functionality to streamlining workflows, these custom hooks are designed to empower developers and deliver user-friendly experiences. Join us on this journey as we unleash the power of these 20+ hooks and unlock new levels of productivity and innovation in your React projects.

Read more
Total votes 1: ↑1 and ↓0 +1
Comments 2

Improving the quality and formatting of the code in the TypeScript

Reading time 2 min
Views 2.2K

With the help of the ESLint and Prettier features, you can automate the formatting of your code, make it more expressive and accurate, correspond to specific rules, and avoid errors and bottlenecks even before uploading the code to the shared source storage...

Read more
Total votes 1: ↑0 and ↓1 -1
Comments 1

Creating Node.JS web server application with Express, Typescript, Jest, Swagger, log4js and routing-controllers

Reading time 7 min
Views 3.9K
This is a step by step instruction for creating Node.JS web server application with typescript and express. Creating of new web application on Node.JS is is not making often, so the steps how to do it can be forgotten. So this article is a kind of reminder for me and other developers. Also I added in article links to video clips for more clarification. Here I show how to create application on Node.JS without using any frameworks for it. Just Node.JS and packages.
Read more →
Total votes 1: ↑0 and ↓1 -1
Comments 1

Ant Design Component Customization and Bundle Optimization

Reading time 13 min
Views 10K

I'm Ivan Kopenkov, a senior front-end developer at Mail.ru Cloud Solutions. In this article, I will tell you about the approaches we have used for the UI library components customization. You will also learn how to significantly decrease bundle size, cutting off all the unnecessary modules Ant Design takes there.

In our case, we are making wrappers for original Ant Design components inside the project, changing their appearance, and developing their logic. At the same time, we import both customized and original components right from the ant-design module. That saves tree shaking functionality and makes complex library components use our wrappers instead of original nested elements.

If you are already or about to use Ant Design, this article will provide you with a better and more effective way to do so. Even if you have chosen another UI library, you might be able to implement these ideas.

Read more
Total votes 12: ↑12 and ↓0 +12
Comments 0

Plugins in Figma. From idea to 1000 installs

Reading time 5 min
Views 2.9K
About a year ago, Figma added the ability to develop and publish your own plugins. Those who would like to please themselves and everyone around them with additional features or just to have the experience of lifetime with Figma have longed for this feature to appear. 

Inside the plugin, you can do whatever is available to the developer on the web. There are practically no restrictions on the possibilities, except for those related to the system. Fortunately, they are all detailed in the documentation. Many detailed articles have already been written on the topic of technical implementation of plugins, for example, here or here. As product designers, Lev Bruk and I wanted to go through all the stages of plugin release, from the idea and coding to promoting and working with feedback from real users. That’s exactly what we’re going to cover in the article.

image
Read more →
Total votes 3: ↑3 and ↓0 +3
Comments 1

Prettier is a Must-Have for Large-Scale Projects: Spent 20 Minutes Setting It Up and Forgot About Formatting for a Year

Reading time 3 min
Views 4.2K
Many dev teams get split over formatting. And their typical day looks like this: you come to work, have some coffee, write some code, everything’s fine — then bam! Code review where you’re told you put a brace in the wrong place.

image

It was an everyday reality for one of Skyeng dev teams a year ago. Then someone had enough and said, “Guys, from now on we use Prettier. Is everyone ok with that?” And then there were no more debates about formatting. We’ve installed Prettier in the frontend repo and all the teams use it.
Read more →
Total votes 10: ↑9 and ↓1 +8
Comments 0

Modern Environment for React Native Applications

Reading time 4 min
Views 2K
In this article, we will consider the process of setting up a React Native environment using expo-cli, Typescript, and Jest.
Typescript will help us avoid development mistakes and write a more efficient mobile application.

Modern tools allow integrating Typescript into the development environment. We can also use VS Code that supports Typescript.

Integration with React Native will give us the opportunity to use the auto-completion service, code navigation, and refactoring.

Expo is a toolkit that simplifies the creation of native React applications. This tutorial will give you an idea of how you can quickly create native React applications using Expo.


Read more →
Total votes 7: ↑6 and ↓1 +5
Comments 0

Web Worker easier than you thought

Reading time 6 min
Views 3.6K

Web Worker easier than you thought


In this article, a DIRTY, unsafe, unstable and scary <em>eval</em> method will be described. So, if you are uncomfortable with that, stop reading right now.


First off, some issues with convenience remained unresolved: in code sent to web web workers, closure can't be used.




All of us like new technologies, and all of us like new technologies to be convenient to use. However, it's not exactly the case with web workers. web workers accept files or links to files, which isn't convenient. It would be good to be able to put any task into web workers, not just specifically planned code.


What do we need to make web workers more convenient to operate? I believe, it's the following:


  • A possibility to launch in web workers any code at any moment
  • A possibility to send to web workers complicated data (class instances, functions)
  • A possibility to receive a promise with a reply from a web worker.
Read more →
Total votes 6: ↑6 and ↓0 +6
Comments 0

Really typing Vue

Reading time 6 min
Views 7.4K

Logo


inb4: This is not another "setting up" a new project with Vue and TypeScript tutorial. Let's do some deep dive into more complex topics!


typescript is awesome. Vue is awesome. No doubt, that a lot of people try to bundle them together. But, due to different reasons, it is hard to really type your Vue app. Let's find out what are the problems and what can be done to solve them (or at least minimize the impact).

Read more →
Total votes 11: ↑11 and ↓0 +11
Comments 1

Protocol for communication between iframe and the main window

Reading time 4 min
Views 4.8K

From time to time, developers need to establish communication between several browser tabs to be able to send messages from one tab to another and receive responses. We have also faced this need at some point.


Some solutions already exist (like, for instance, BroadcastChannel API). However, its browser support leaves a lot to be desired, so we decided to use our own library. When the library was ready, that functionality was no longer required. Nevertheless, another task emerged: communication between an iframe and the main window.


On closer examination, it turned out that two-thirds of the library would not have to be changed — only some code refactoring was necessary. The library is a communication PROTOCOL that can work with text data. It can be applied in all cases in which text is transferred, such as iframes, window.open, worker, browser tabs or WebSocket.


How it works


Currently, the protocol has two functions: sending messages and subscription to events. Any message in the protocol is a data object. For us, the main field in that object is type, which tells us what kind of message it is. The type field is an enum with the following values:

Read more →
Total votes 13: ↑12 and ↓1 +11
Comments 2

Announcing TypeScript 3.4 RC

Reading time 9 min
Views 1.3K

Some days ago we announced the availability of our release candidate (RC) of TypeScript 3.4. Our hope is to collect feedback and early issues to ensure our final release is simple to pick up and use right away.


To get started using the RC, you can get it through NuGet, or use npm with the following command:


npm install -g typescript@rc

You can also get editor support by



Let’s explore what’s new in 3.4!


Read more →
Total votes 9: ↑8 and ↓1 +7
Comments 0

Announcing TypeScript 3.3

Reading time 5 min
Views 1.1K

If you’re unfamiliar with TypeScript, it’s a language that brings static type-checking to JavaScript so that you can catch issues before you even run your code – or before you even save your file. It also includes the latest JavaScript features from the ECMAScript standard on older browsers and runtimes by compiling those features into a form that they understand. But beyond type-checking and compiling your code, TypeScript also provides tooling in your favorite editor so that you can jump to the definition of any variable, find who’s using a given function, and automate refactorings and fixes to common problems.

Read more →
Total votes 14: ↑13 and ↓1 +12
Comments 0

Vue, Storybook, TypeScript—starting a new project with the best practices in mind

Reading time 12 min
Views 22K


(originally published on Medium)


I like writing React code. This might be an odd introduction to a story about Vue, but you need to understand my background to understand why I’m here discussing Vue.


I like writing React code and I hate reading it. JSX is a neat idea for assembling the pieces together fast, Material-UI is amazing solution for bootstrapping your next startup’s UI, computing CSS from JS constants allows you to be very flexible. Yet reading your old JSXs feels awful – even with scrupulous code review practices you might scratch your head not once as you try to figure the intricate nesting of the components.


I’ve heard many things about Vue—the not so new kid on the block—and I finally decided to get my feet wet; bringing in all my mental luggage of React and Polymer (and Angular, but let’s not talk about that).

Read more →
Total votes 18: ↑17 and ↓1 +16
Comments 2

Authors' contribution