Implementing the create post component
In this section, we'll implement the create post
component, which will be used to create posts from the profile page (and also from the home feed). We'll put the logic for creating posts in its own reusable component because it will be required on multiple pages.
This component is known as a presentational or dumb component. It receives input and emits custom output events to the parent component. This type of component has no idea how to fetch data (no injected services), so its only responsibility is to receive data, render it, and emit some events for the parent component(s) to handle. These parent components in our case are the profile and feed's posts components, which are referred to as the container or smart components.
When this component's post
event fires, the onPost()
method of the base component that we defined earlier will be called. This custom event will be triggered when the user clicks on a button for...