No problem, we all have to start somewhere. Though I have to say that if you are starting with REACT, you've given yourself some initial headaches because it is not a simple framework. Typically, REACT is good for large-scale developments with big teams,
So if you want to - at least temporarily - simplify things for yourself while you are learning, I would recommend creating a new test uibuilder node just using the "blank" template. This will let you add a checkbox much easier. Also, I don't think checkbox inputs support the value
attribute, they use checked
instead. I've actually greatly improved the uibuilder.eventSend
function in v7 (not yet released) where it will better handle checkboxes, and similar inputs.
IIFE is a way of controlling the impact of custom code on the browsers global window
context. In the case of uibuilder, it simply means that you can just add the script tag as shown in the default index.html and the library initialises itself and creates the global uibuilder
, $
, and $$
objects. It is the simplest and quickest way of using a library.
ESM = ECMAScript Modules - this is the "new" way that will be the future standard way of using libraries (modules) in the future in both the browser and Node.js. Unfortunately, until you've learned your way around them, they are not quite as easy to use.
When using big frameworks such as REACT, they appear to be using ESM (e.g. they using import
statements to load modules). However, this is not really true. What they actually do is force you to use a "build step" using a build tool than converts the ESM-like code into IIFE. It is that converted (built) code that you actually then load into the browser.
So using a framework adds several orders of magnitude of complexity to designing and building your front-end UI.
Of course, in the past, this was likely necessary because native HTML and CSS did not have all the capabilities that are required for building full-featured web apps. However, that isn't really true any more which is why uibuilder, over the last 10 years, has ditched any previous framework dependencies and now uses entirely native HTML, CSS and JavaScript. So uibuilder is not considered a "framework" itself, the front-end library is merely an enhancement of native capabilities.