import React from "react";
import ReactDOM from "react-dom";
ReactDOM.render(
<span>Is React a JavaScript library for building user-interfaces?</span>,
document.getElementById("question1")
)
ReactDOM.render(
<form class="options">
<input type="radio" value="Yes" />
<input type="radio" value="No" />
</form>,
document.getElementsByClassName("options-main-container")
);
此代码有什么问题??? 我尝试了不同的方法,但无法解决此问题 请任何人帮我解决这个问题
答案 0 :(得分:1)
是的,可以在同一页面上多次调用ReactDOM.render
。
这是问题所在,
document.getElementsByClassName("options-main-container")
这将返回array
个具有类名options-main-container
的元素。因此,您无法使用此代码直接呈现元素。您需要遍历数组或仅接受1st
个匹配元素,如
document.getElementsByClassName("options-main-container")[0] //This will get the 1st matching element
答案 1 :(得分:0)
您可以使用querySelector
代替getElementsByClassName
。因为getElementsByClassName
返回节点列表数组,而querySelector
返回第一个匹配的元素。
import React from "react";
import ReactDOM from "react-dom";
ReactDOM.render(
<span>Is React a JavaScript library for building user-interfaces?</span>,
document.getElementById("question1")
)
ReactDOM.render(
<form class="options">
<input type="radio" value="Yes" />
<input type="radio" value="No" />
</form>,
document.querySelector(".options-main-container")
);