gpt4 book ai didi

javascript - 如何将 JSX 导入 .tsx 文件(不在 React 中)?

转载 作者:搜寻专家 更新时间:2023-10-30 21:26:07 24 4
gpt4 key购买 nike

没有使用 React。我正在使用 Stenciljs

我有以下 .tsx 文件:

export class MyComponent {
@Prop() message: string;

render() {
return (<div>{this.message}</div>);
}
}

我想这样做:

import myTemplate from '../my-template.??';

export class MyComponent {
@Prop() message: string;

render() {
return (myTemplate);
}
}

../my-template.?? 包含:

<div>{this.message}</div>

这可能吗?如何实现?在此先感谢您的帮助:)

最佳答案

是的,你绝对可以这样做,你只需要整理几件事:

主文件

import { Template } from '../template'; // No need for file extension but we're using a named export so we need the curly braces around 'Template'

export class MyComponent {
@Prop() message: string;

render() {
return ( // You don't technically need the parentheses here as you're just returning one thing
<Template /> // When outputting an imported component, it goes in angle brackets and the backslash closes it like an HTML element
)
}
}

模板

import React from 'react';  // template needs React

export const Template = () => { // defining the export in this way is known as a named export
return (
<p>A message here</p>
)
}

好的,这将为您提供来自模板的消息输出。但是,您询问的是将消息传递给该模板以供其输出。这也很简单——你只需要在那里得到一些 Prop 。这是上面的修改版本:

主文件

import { Template } from '../template';

export class MyComponent {
@Prop() message: string;

render() {
return (
<Template messageToOutput={message} /> // The first argument is the name of the prop, the second is the variable you defined above
)
}
}

模板

import React from 'react';

export const Template = (props) => { // props are received here
return (
<p>{props.messageToOutput}</p> // props are used here
)
}

这就是您在 React 中传递数据的方式 - 希望对您有所帮助!

关于javascript - 如何将 JSX 导入 .tsx 文件(不在 React 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54930794/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com