Dce::$fieldsCache makes ovewriting fields with TypoScript impossible, if element is rendered multiple times on page
If a dce content element is rendered multiple times on a page (e.g. in a section menu and as content),
it's impossible to overwrite a field value for from TypoScript for only one of these renderings.
This problem is caused by Dce::$fieldsCache
It's using the uid as cache key, so if the same uid appears again with new field values (since a value was overwritten by TypoScript), the cached field values will be used.
Setting value by TypoScript is shown here
Use case (I guess there are more, e.g. inside main column and sidebar, inside a global footer, ...):
I have a TypoScript submenu which sets a field "inMenu" to 1, so the fluid template knows it's "inside" a menu (changes the rendering)
The second occurence of the content element resets "inMenu" to 0 to show the normal content.