我编写了一个函数来根据对象的键和值构建HTML表单,我试图在module mux41_tb;
reg at,bt,ct,dt;
reg [1:0] selectt;
wire zt;
mux41 test(.a(at),.b(bt),.c(ct),.d(dt),.select(selectt),
.z(zt));
initial
begin
$monitor ("a=%d",at,"b=%b",bt,"c=%b",ct,
"d=%b","select=%b",selectt,"z=%z",zt);
selectt =2'b00;
#5
selectt =2'b01;
#5
selectt =2'b10;
#5
selectt =2'b11;
#5;
end
endmodule
方法中返回表单。但是,我一直收到错误:
render
这是我的ReactJs 0.14 - Invariant Violation: Objects are not valid as a React child
方法:
createForm()
这是我的 createForm() {
const obj = {
}
const object_fields = resourceFields.fields;
let form = document.createElement('form');
_.forIn(object_fields, function(field_value, field_name) {
let div = document.createElement('div');
div.setAttribute('className', 'form-control');
let label = document.createElement('label');
label.setAttribute('htmlFor', 'name');
label.innerHTML = field_name;
let input = document.createElement('input');
input.setAttribute('className', 'form-control');
input.setAttribute('type', 'text');
input.setAttribute('ref', field_name);
input.setAttribute('id', field_name);
input.setAttribute('value', field_value);
input.setAttribute('onChange', '{this.handleChange}');
div.appendChild(label);
div.appendChild(input);
form.appendChild(div);
})
console.log(form) //this prints out fine
return form
}
方法:
render()
有谁知道可能会发生什么?我的表格在控制台打印出来就好了...先谢谢!
答案 0 :(得分:2)
当您使用React时,您永远不会操纵实际的DOM节点。当您在render
函数中构建UI时,JSX标记将转换为纯JavaScript(React.createElement
函数调用),这将构建DOM的表示。
因此,在您的情况下,您应该在createForm
中返回JSX,而不是DOM元素。