如反应文档所述。但是以某种方式,它不适用于我的多个道具。我试图传递一个键值对象数组,传递一个带有键值的容器对象,但是没有任何效果。让我展示一下我如何尝试的:React.createElement(type,[props],[... children])
//input.js
const Input = ({name, elementProps}) => {
const { element, props } = elementProps;
return React.createElement(element, props)
}
export default Input;
//props from
{
name: "msg",
element: "textarea",
props: [
{placeholder: "Message"},
{rows: "4"},
{cols: "50"},
]
}
//rendered by method
const { name, ...elementProps } = objectAbove;
return <Input name={name} elementProps={elementProps} />
传递多个道具所需的语法是什么?
答案 0 :(得分:4)
props
应该是非数组对象,而不是数组。您正在创建的props数组看起来很容易成为单个对象,而不是对象数组。代替:
props: [
{placeholder: "Message"},
{rows: "4"},
{cols: "50"},
]
也许
props: {
placeholder: "Message",
rows: "4",
cols: "50"
}
Tholle中的a comment指出,the documentation的语法中显示的[]
:
React.createElement( type, [props], [...children] )
...旨在表明props
是可选的,而不是它是一个数组。