No, you use componentDidMount etc, spreading out the logic that could go into a single hook into multiple lifecycle methods, spaghettied with other logic. Hooks are much cleaner.
Adding to this, hooks make it much easier to pull related state management code out of the component. They help make state logic just as composable as UI logic.