【发布时间】:2021-03-02 16:28:26
【问题描述】:
你好,我在 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].transform === '1' ? '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)
有人可以帮我导出变量吗?提前谢谢你
【问题讨论】:
-
V的语法无效。你能解释一下V的逻辑吗? -
除了语法之外,您不能(也不应该)以这种方式将 props 数据传递给其他组件。见What's the right way to pass form element state to sibling/parent elements?
-
@MoshFeu v 是变量名
-
不。
V(大写)是一个引发错误的函数名。为了帮助您修复语法,我需要了解它的逻辑。 -
@MoshFeu 这个
{props.slices[2].transform === '1' ? '10' : props.slices[2].transform.replace('0.','')}的返回是一个我想在页面中显示的数字