我想知道:
动态创作是否也适用于JSX?
反应是否提供了一种在创建后检索组件的方法?例如,其他人的意思是什么?
如果你能为我提供一个极简主义的工作范例,我真的很感谢谢谢!
var data = [{
type: 'button',
props: {
className: 'button button-blue',
children: {
type: 'b',
props: {
children: 'OK!'
}
}
}
},{
type: 'button',
props: {
className: 'button button-blue',
children: {
type: 'b',
props: {
children: 'OK!'
}
}
}
}
];
答案 0 :(得分:1)
您已经列出了一些与React无关的事情清单。 React的重点是声明组件树如何依赖于数据并让框架为您管理它。但是,当你想要做一些hacky的事情时,很少有特殊情况。
如何动态创建反应组件,例如从某些组件创建反应组件 简单的对象。
动态创建是否也适用于JSX?
您使用React.createElement()。您必须使用它一次来初始化框架。我能想到的其他用例是将诸如模态之类的东西注入或渲染到由非React库生成的DOM或包含在React组件中的组件(基本上是一种将控制权交还给React的方法)。除非你正在做其中一件事或真的知道你想要实现的目标,否则尽量避免这种情况。例如,如果您需要一个有时渲染但有时不渲染的组件,请在JSX中使用条件渲染,如下所示:
render() {
return (
<Something>
<SomethingElse />
{this.props.someProp ? <SomethingConditional /> : null}
</Something>
);
}
反应是否提供了一种在创建后检索组件的方法?例如,其他人的意思是什么?
https://facebook.github.io/react/docs/refs-and-the-dom.html
再次尝试使用它来检查DOM或做一些不可能或浪费的事情,比如焦点。不要用它来修改DOM。