Structure 1
reducers
index.ts //Combine all reducers
user.reducer.ts
product.reducer.ts
actions
index.ts //Combine all actions
user.action.ts
I follow this guide for best ngRx practices and structure:
https://github.com/orizens/ngrx-styleguide
The second way you mentioned is the best because (quoting from the style guide):
DO create separated files in the reducer's directory for: reducer, reducer's spec, reducer's actions and reducer's selectors. Finally, use index.ts as a barrel for exporting each file's content. Why? it's easier when developing to locate each relevant class/file