328190f73590d12620efb46a3ec9509976a76f36
This commit adds the useEffect hook, inspired by React. This hook replaces the onMounted, onWillPatch, onPatched and onWillUnmount hook. The idea behind useEffect is to unify the way we add side-effects to the components lifecycle, while also making it easier to clean up those side effects when needed. A lot of the time, when you want to do something once the component is mounted, there is also a good chance you would like to do it again when the component's state or props changes, in that case you may also want to clean up things that you did on the previous render. useEffect covers all these use cases and more. The API is like that of React, with an important difference: the dependencies of the effects is a function returning an array instead of a plain array. This is because in React, hooks will run on every render while in OWL, hooks are only run once during the component setup phase. This means that in React, dependencies are computed on every render, and doing that in owl requires having a callback to recompute them. Because computing your dependencies can be expensive, the dependencies computed by the callback will be passed to the effect function so that it doesn't have to recompute them. (In React, since you're writing in the render function, the dependencies are already in the effect's closure).
…
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%