# give/4.18.0/src/DonationForms/resources/app/fields/ElementNode.tsx

GiveWP – Donation Plugin and Fundraising Platform, version 4.18.0. 17 lines.

- Page: https://pluginprobe.com/plugins/give/4.18.0/code/src/DonationForms/resources/app/fields/ElementNode.tsx
- Raw: https://pluginprobe.com/plugins/give/4.18.0/raw/src/DonationForms/resources/app/fields/ElementNode.tsx
- Modified: 2023-10-16T17:55:46+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/give/4.18.0/code/src/DonationForms/resources/app/fields/ElementNode.tsx#L10-L20`.

```tsx
import {Element} from '@givewp/forms/types';
import {useTemplateWrapper} from '../templates';
import type {ElementProps} from '@givewp/forms/propTypes';
import memoNode from '@givewp/forms/app/utilities/memoNode';

const formTemplates = window.givewp.form.templates;

function ElementNode({node}: {node: Element}) {
    const Element = useTemplateWrapper<ElementProps>(formTemplates.elements[node.type], 'div', node.name);

    return <Element key={node.name} {...node} />;
}

const MemoizedElementNode = memoNode(ElementNode);

export default MemoizedElementNode;

```
