Your reducers are manually keeping in sync with the database using filter etc. This is not scalable. Every time you change the database, send back all the posts and set that as the state. This might seem excessive but its much easier to manage. Make sure to use the database ids as component keys so react knows what to render and remove.