Sounds as of 3.0 it became much simpler, as vuex doesn't sound as necessary.
You can still use the function prop pattern in Vue but it doesn’t make much sense when event emission is so much simpler to reason about.
This is where I've found Vuex is a life saver for reducing complexity, organizing state in a seperate area, and having a consistent interface for accessing/mutating data without a tangled web of events and functions across multiple files/layers.