diff --git a/examples/basic/pages/index.tsx b/examples/basic/pages/index.tsx index 121b81af..42fd71cb 100644 --- a/examples/basic/pages/index.tsx +++ b/examples/basic/pages/index.tsx @@ -39,9 +39,10 @@ const loopArray = [ loopArray[1] = loopArray const longArray = Array.from({ length: 1000 }).map((_, i) => i) -const map = new Map() +const map = new Map() map.set('foo', 1) map.set('goo', 'hello') +map.set({}, 'world') const set = new Set([1, 2, 3]) diff --git a/src/components/DataTypes/Object.tsx b/src/components/DataTypes/Object.tsx index ec57705f..a66dc915 100644 --- a/src/components/DataTypes/Object.tsx +++ b/src/components/DataTypes/Object.tsx @@ -124,7 +124,9 @@ export const ObjectType: React.FC> = (props) => { if (value instanceof Map) { let _count = 0 for (const item of value) { - const [key, value] = item + // fixme: key might be a object, array, or any value for the `Map` + const [k, value] = item + const key = `${k}` elements.push( diff --git a/tests/index.test.tsx b/tests/index.test.tsx index 04b5edf6..b74f957f 100644 --- a/tests/index.test.tsx +++ b/tests/index.test.tsx @@ -43,6 +43,17 @@ describe('render ', () => { render() }) + it('render Map', () => { + render( + ([['foo', 1], ['goo', 2]])}/> + ) + render( + ([[[], 1], [{}, 2]])}/> + ) + }) + it('render object', () => { render() render(', () => { } }}/>) }) + + it('render function', () => { + render() + render( a + b}/>) + }) })