Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue: Field Group fields cause "Objects are not valid as a React child" on Dashboard #678

Closed
matfantinel opened this issue Sep 30, 2023 · 3 comments
Labels

Comments

@matfantinel
Copy link

Describe the bug
I've started using fieldGroups in my Frontmatter config to add a "tag" object, defined in frontmatter.json like this:

"frontMatter.taxonomy.fieldGroups": [
{
	"id": "tag",
	"labelField": "label",
	"fields": [
		{
			"title": "Label",
			"name": "label",
			"type": "string",
			"single": true
		},
		{
			"title": "Color",
			"name": "color",
			"type": "choice",
			"choices": ["primary", "secondary"]
		}
	]
}
]

This is used in a content type called "Work Experience", and the Tags prop is defined like this:

	"frontMatter.taxonomy.contentTypes": [		
		{
			"name": "Work Experience",
			"fields": [
				{
					"title": "Tags",
					"name": "tags",
					"type": "block",
					"fieldGroup": ["tag"]
				}
			]
		},

The UI for adding Tags is displayed correctly, and adding tags through it results in something like this:

tags:
  - label: Svelte
    color: primary
    fieldGroup: tag

However, when after saving the file, the Dashboard immediately crashes. On developer tools, I was able to get the error message:

Objects are not valid as a React child (found: object with keys {label, color, fieldGroup}). If you meant to render a collection of children, use an array instead.

Removing the tags field or leaving it empty ([]) makes the dashboard open again.

To Reproduce
Steps to reproduce the behavior:

  1. Clone this repo (make sure to use the cmsify branch)
  2. Open the Frontmatter Dashboard
  3. The content with the tags is in the cms/work-experiences folder

Expected behavior
I expect the dashboard to open

Desktop (please complete the following information):

  • OS: macOS Sonoma 14.0
@matfantinel matfantinel added the bug Something isn't working label Sep 30, 2023
@matfantinel
Copy link
Author

Huh, the issue seems to be with the tags/tag name. Just changing the name of the field fixed it. Probably tags is hardcoded in a few places to make the default tags work?

In any case, my issue is solved!

@estruyf
Copy link
Owner

estruyf commented Sep 30, 2023

Thank you @matfantinel for opening and letting me know the solution. tags and categories are indeed two field types, which might cause issues, but will have a look if we can make the experience better and not let the CMS crash.

@estruyf
Copy link
Owner

estruyf commented Sep 30, 2023

@matfantinel I made a change to the code to make sure this cannot happen anymore. It will be testable in the latest beta.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

No branches or pull requests

2 participants