When use React router, sometimes we need to define the route path as constants like const USER = /user/:userId
, and the render the <Route path={USER} />
later. However, when we try to navigate, for example history.push()
, we have a problem which we need to replace that :userId
with real user id. And when we do it every time we calling history.push
, it won’t be any prettier. This is how I solved it with several lines of code.
Handle AWS lambda error with API gateway integration using Typescript in a clean way
I think I have a talent to make such a verbose title… xD
Anyway, error handling is tedious or hard, just like naming your blog. But you can’t miss it, because it makes your code robust. AWS lambda is a great way to write your code, and its simple nature enables us to do something very interesting, and make your code clean, I previously looked a lot about best practice of error handling in lambda, but either they mentions other AWS services integration or just lambda-API gateway configuration. Today, let’s talk about the code. How to make this part clean. Even more, we will use Typescript.
use stage to manage environment variables in Serverless framework
Serverless framework is a fantastic framework to simplified your serverless management. Most of the time, we have some configurations which are different among different environments. Let’s say how could we achieve this with Serverless framework. Including manage tests in Jest.
How to dump remote dokku-mongodb and restore local instance
I have a side project using dokku, it works well. But then I want to dump the production data to local in order to test some cases. I thought it should be as simple as dump and restore, but I was wrong. It took me a while, I think write it down might help someone else or future me.
How to auto delete Mongodb records after certain time with Mongoose
I have a requirement where I need to remove some records from a collection. Let’s see how to do that in Mongoose. I use Mongoose: 5.4.9 and MongoDB v4.0.3.
How to create your own Dockerfile for a rapid Dokku deployment
Dokku is good, and I wrote a blog for whole setup of Dokku + Node + React + MongoDB. This blog, we will address the issue where if you use the default buildpack
for building, it will download Node and NPM everytime, which will make it very long in some circumstance, in this blog, we will Dockerfile
to replace it, make it much more faster, because we will multi-stage build
with its cache mechanism.
How to setup your own PaaS with Dokku + Node + React + Mongodb + Nginx
Setup environment could be tedious, but Dokku just makes it tremendously easy. Even more, you can have your own CD setup under 5 mins with everything. Let’s see how we can get up and running for this app: A Node back-end with a create-react-app powered front end, and we will use MongoDB.
How to add official Google sign-in to your React application
The hard part of this is, the official Google sign-in is using a script
tag in your HTML and initialize it using the traditional in-browser vanilla JavaScript, which is not happening in React. And make it a little bit harder to make the two works together.
How to do generic type transferring with jsx in TypeScript
So I just encountered a problem where I want to make a better type checking in a props
of a React component. It’s about one prop
takes an array of certain type X, and in another prop
: callback, this type X needs to be the parameter of the callback. Let’s see how to do that in TypeScript.
8 features you can add after using create-react-app without ejecting
I love create-react-app
, it really makes my life easier. But still I can see there are things that I need to do after bootstrapping a new project with CRA. I will share them to you. And yes, no ejecting. And I create a GitHub repo and added all of them for you.