In the case you described above I would suggest Option 1
over Option 2
.
In general I would recommend parsing raw data and saving it in the state (Option 1), over saving raw data in state and using getters to parse it (Option 2).
a brake down of my recommendation according to the criteria in the question:
code clarity & simplicity :
depending on the API data structure, there could be repetitive code in your getters that would be better handled in a parsing function after receiving the API data.
another benefit would be that any API errors or unexpected changes can be handled before saving the data to the store. this way enables simpler error handling, as opposed to validating every getter value when its needed using Option 2
.
performance:
saving less data to a state would mean less memory used, depending on the size of the raw data this could have an impact. another poetical benefit gained by Option 1
, is that the data is pre-parsed and dos not required code to be run when the data is needed.
side note: both options are valid, the better fitting option depends mostly on you state architecture, the raw data format and how is that data used in the code.