当前位置: 首页 > 知识库问答 >
问题:

在reactjs中导出变量时出错

尹昂雄
2023-03-14

您好,我在react js中有此组件:

import React from 'react';
import './Questions.css';

const Questions = (props) => {
    

    let questions = Object.keys(props.slices).map((questionKey, i) => (
        <li key={i}>
            <p>{props.slices[questionKey].question}</p>
            <div className="Answer">
                <input
                onChange={props.selectScore(questionKey)} 
                type="range" 
                min="1" 
                max="10" 
                value={props.slices[questionKey].transform === '1' ? '10' : props.slices[questionKey].transform.replace('0.','')} 
                className="rangeInput"
                style={{background: props.slices[questionKey].fill}} />
                <span className="Score" style={{backgroundColor: props.slices[questionKey].fill}}>
                    <div className="leftArrow" style={{borderRight: '5px solid ' + props.slices[questionKey].fill}}></div>
                   <span className="Score" style={{backgroundColor: props.slices[questionKey].fill}}>
                    {/* <div className="leftArrow" style={{borderRight: '5px solid ' + props.slices[questionKey].fill}}></div> */}
                    {props.slices[questionKey].transform === '1' ? '10' : props.slices[questionKey].transform.replace('0.','')}
                  </span>
                </span>

 
            </div>

        </li>
        
    ));
    
    return (
        <>
           
            My variable = {props.slices[2].transform === '1' ? '10' : props.slices[2].transform.replace('0.','')}

            {questions}
        </>
    );

    
    
}


export default Questions;

我需要导出返回函数中的这一行:{props.slices[2]。'10':props.slices[2]。transform.replace('0.','')}作为变量在另一个组件中使用它。
所以我这样做了:

export const V = (value) => (
  value === {props.slices[2].transform === '1' ? '10' : props.slices[2].transform.replace('0.','')}
)

但是我得到了这个错误:意外的令牌,预期的,(47:20)
有人能帮我导出变量吗

共有1个答案

姜弘新
2023-03-14

正如你所写

我需要导出返回函数中的这一行:{props.slices[2]。'10':props.slices[2]。transform.replace('0.','')}作为变量在另一个组件中使用它

我假设,你不想在这个组件中呈现任何东西,而只是想返回一些计算值?对吧?如果是,那么您应该像这样简单地返回值。

import React from 'react';
import './Questions.css';

const Questions = (props) => {
    
    // better to use const instead of let, if you don't need to modify a variable...
    const questions = Object.keys(props.slices).map((questionKey, i) => (
        <li key={i}>
            <p>{props.slices[questionKey].question}</p>
            <div className="Answer">
                <input
                onChange={props.selectScore(questionKey)} 
                type="range" 
                min="1" 
                max="10" 
                value={props.slices[questionKey].transform === '1' ? '10' : props.slices[questionKey].transform.replace('0.','')} 
                className="rangeInput"
                style={{background: props.slices[questionKey].fill}} />
                <span className="Score" style={{backgroundColor: props.slices[questionKey].fill}}>
                    <div className="leftArrow" style={{borderRight: '5px solid ' + props.slices[questionKey].fill}}></div>
                   <span className="Score" style={{backgroundColor: props.slices[questionKey].fill}}>
                    {/* <div className="leftArrow" style={{borderRight: '5px solid ' + props.slices[questionKey].fill}}></div> */}
                    {props.slices[questionKey].transform === '1' ? '10' : props.slices[questionKey].transform.replace('0.','')}
                  </span>
                </span>

 
            </div>

        </li>
        
    ));
    
    const myVar = props.slices[2].transform === '1' ? '10' : props.slices[2].transform.replace('0.','');

    return {myVar,questions};    
    
}


export default Questions;

如果你像这样返回值return(

使现代化

要在另一个组件中使用myVar,请执行以下操作

import Questions from 'questions-file-name';

const selectScore= (key)=>{
// do something with score using key
}

const {myVar,questions} = Questions(slices,selectScore); 

 类似资料:
  • 我有一个奇怪的例子,我有一个secret.env文件,我把所有的环境变量都设置成这样: 秘密. env 然后我构建了一个docker文件来导出所有变量并运行应用程序: 但是,这将引发一个关键错误: 当我在我的窗户上运行这个程序时,它工作得很好! 有人能帮我一下吗?

  • 问题内容: 如果要创建组件,似乎可以用很多不同的方式创建类。这些有什么区别?我怎么知道要使用哪个? 我只是假设他们做不同的事情,还是只是语法不同? 如果有人可以给我快速的解释或链接,我将不胜感激。我不想从一个新的框架开始,不知道到底有什么区别。 问题答案: 嗨,欢迎来到React! 我认为您在这里遇到的问题并不是与React特定的,而是与新的ES2015模块语法有关。在创建React类组件时,出于

  • 问题内容: 我在致电时设置环境变量时遇到问题。似乎没有设置环境变量。关于如何为Python命令行调用正确设置环境变量的任何建议? 我的目标是运行一个使用从我的Python代码确定的环境变量的脚本: 但是脚本的反应就像从未设置过变量一样 这是我尝试使用Python的交互式解释器进行测试: 输出为: 我认为应该为子流程设置环境,但是显然没有。有关如何更正此问题的任何建议? 问题答案: 命令行上 环境变

  • 问题内容: 我正在运行RHEL6,并且已经导出了如下环境变量: 当终端关闭时,该变量丢失。如何永久添加此变量,以便特定用户始终可以使用此变量值? 问题答案: 您可以将其添加到您的Shell配置文件中,例如,或在全局中添加。添加这些行之后,更改将不会立即反映在基于GUI的系统中,您必须退出终端或创建一个新终端,然后在服务器中注销会话并登录以反映这些更改。

  • 我甚至无法从脚本中导出最简单的变量来在bash中工作——我错了什么? 文件test.sh: bash测试: 编辑: 我现在从答案中知道,这行不通-但是,如何在进程之间记住单个变量呢?我需要将其存储在文件中吗?

  • 我想更新我的变量,但我的代码有一个错误,我不知道哪里有错误