If you are using a static website generator (or framework with build option) with Strapi (Gatsby, Nuxt, Next, etc.) it is necessary to rebuild it when the content is updated in Strapi. In a Headless CMS, this is typically called a Webhook feature. Unfortunately it is not available yet in Strapi even if it has been requested.
But what we like at Strapi is to help developers. So even if the feature is not developed yet, this short article gives you an easy way to implement work around! 😃
Discovering the lifecycle callbacks 🔍
As you may know, every Content Type (aka models) has lifecycle callbacks: functions which are triggered every time an entry is fetched, inserted, updated or deleted. Here is the list:
Callbacks on save (both triggered on entry creation and update): beforeSave, afterSave.
Callbacks on fetch: beforeFetch, afterFetch.
Callbacks on fetchAll: beforeFetchAll, afterFetchAll.
Callbacks on create: beforeCreate, afterCreate.
Callbacks on update: beforeUpdate, afterUpdate.
Callbacks on destroy: beforeDestroy, afterDestroy.
All of these functions are available in a file located at api/yourContentType/models/YourContentType.js.
If your goal is to rebuild a static website, the only useful callbacks are afterCreate, afterUpdate and afterDestroy. So, uncomment them, add logs and try to create, update and delete entries from the admin panel.