在JSX / React中从Flux设计模式中的输入文本字段获取字符串

拖轮Heptaskin

我正在制作一个网站,该网站从API提取数据并在视图中显示数据,该视图通过JSX和React以流量模式实现。我接收的数据是丹麦的天气预报数据,我希望用户只需在输入文本字段中键入他们想要的城市,仅获取有关该城市的信息,然后视图将相应地更新。但是,在我的实现中,我没有在定义JSX代码的位置渲染它,而是在声明JSX代码的位置之外渲染了视图状态(它不在render()块内)。它在我的index.js文档中。

JSX部分看起来像这样:

const PersonDataBody = ({model, dispatcher}) => (
    <tbody> 
        {
            model.showData().map(report => <PersonRow key={report.quantity.toString()} {...{report, dispatcher}}/>) 
        }
    </tbody>
)

我只是在这里开始使用获取的数据创建表,其余的并不是很重要。重要的是我将JSX代码导出到index.js:

export default dispatcher => model => (
   
    <div id='base'>
        <h1>Weather Report</h1>
        <input type="text" id ="inputsection2"></input>
      
        <div id='interval'>
        <input type="text" id ="inputsection3" class="input1"></input><button onClick = {() => dispatcher()({type:'Copenhagen'})}>Set Interval</button>
        </div>
        <table class="styled-table" id='reports'>
            <thead><tr class="active-row"><td>Value</td><td>Type</td><td>Unit</td><td>Time</td><td>Place</td></tr></thead>
          
            <PersonDataBody {...{model, dispatcher}}/> 
        </table>
    </div>
)

我希望能够获取ID为“ inputsection3”的输入文本字段中的数据,并希望将该字符串作为参数传递给调用调度程序的地方:<button onClick = {()=> dispatcher() ({type:'Copenhagen'})}>。我想基本上将输入文本字段中存在的“类型”参数传递给调度程序。信息将被更新,视图将再次呈现。

index.js呈现视图的地方,我只共享与我的问题有关的部分:

 let renderer = dom => ReactDOM.render(dom, document.getElementById('root'))
        let theDispatcher
        const theView = view(() => theDispatcher) 
 
        const theStore = store(theModel, theView, renderer) 

        theDispatcher = dispatcher(theStore) 

        renderer(theView(theModel))

提前致谢。在不同的线程中也有类似的问题,它们的渲染方法和JSX代码没有分离。

Kitanga Nday

好的,因此要从输入标签中获取信息,您只需按ID获取元素并按如下方式获取其值:

export default dispatcher => model => (
   
    <div id='base'>
        <h1>Weather Report</h1>
        <input type="text" id ="inputsection2"></input>
      
        <div id='interval'>
        <input type="text" id ="inputsection3" class="input1"></input><button onClick = {() => dispatcher()({ type: document.getElementById('inputsection3').value })}>Set Interval</button>
        </div>
        <table class="styled-table" id='reports'>
            <thead><tr class="active-row"><td>Value</td><td>Type</td><td>Unit</td><td>Time</td><td>Place</td></tr></thead>
          
            <PersonDataBody {...{model, dispatcher}}/> 
        </table>
    </div>
)

这将满足您的需求

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

React JSX 中的字符串模板

来自分类Dev

在React JSX中引用`this`

来自分类Dev

什么是React JSX中的<>?

来自分类Dev

在React JSX中引用`this`

来自分类Dev

如何获取JSX作为字符串?

来自分类Dev

用react jsx元素替换字符串中的多个字符串

来自分类Dev

在JSX中循环

来自分类Dev

JSX 中的条件链接

来自分类Dev

在 JSX 中响应 if/else

来自分类Dev

在 JSX 中循环对象

来自分类Dev

在反应绑定中渲染包含JSX的字符串

来自分类Dev

从字符串中解析标签并以JSX的形式返回

来自分类Dev

在JSX中动态制作ID字符串

来自分类Dev

如何在JSX中操作字符串?

来自分类Dev

React JSX:缓存道具?

来自分类Dev

React JSX let语法?

来自分类Dev

React JSX编辑风格

来自分类Dev

React JSX and FirstSibling or FirstChild

来自分类Dev

React:动态导入jsx

来自分类Dev

React JSX Transform无效

来自分类Dev

React Unterminated JSX内容

来自分类Dev

React JSX样式

来自分类Dev

React JSX let语法?

来自分类Dev

React 获取 JSX 中的特定元素

来自分类Dev

如何在jsx中映射具有图像和文本信息的json字符串

来自分类Dev

JSX中的文本的类型为“字符串”,但是预期的“子级”类型为“字符串| 元素| 元件[]

来自分类Dev

以编程方式生成的JSX字符串

来自分类Dev

如何在TypeScript React组件中返回字符串或JSX元素?

来自分类Dev

如何在React 17中将字符串转换为JSX