Another sometimes useful but less beginnerish way is to create the string first and use that in the layout, using the fact that layout binds variables with series! contents directly to the face objects:
t: ""
view layout [f: field t]
't is then bound directly to 'face/text for the field (so you don't need to dig into the face object to get the text out) and this automatically updates the contents of 't with the contents of the text field
and vice versa as long as 't is kept as a string and as long as you don't reassign 't to a new string. If you do that, you'll lose the binding. The binding is created during the layout phase.
This is a good exercize in how simple bindings work, but it also saves a tiny bit of hassle with updating a variable manually with text field contents, especially if you'll need to store the contents of the variable somewhere else quickly. When you have many text fields, that "tiny bit" turns into "a lot". :-)
You can manipulate 't using series manipulators, such as 'next, 'back, 'head, 'clear, 'insert, 'append and so forth. To update the variable and the face text, you can use something like:
insert clear t "some text"
show f
To see field updates, use a 'show.
Bindings work only on series! types, so you can't use it to update the size or a number attribute for the field. There are also other costs, for example 'set-face no longer works correctly, because it reassigns a new string to the face.