小编Mam*_*dli的帖子

如何在 React JSX 中使用 Stencil 的 `EventEmitter`?

我使用 Stencil 创建了一个输入 Web 组件:

...
export class Input {
    @Prop({ mutable: true }) value: string;
    @Event() changed: EventEmitter<KeyboardEvent>;

    private handleChange (e) {
        this.value = e.target?.value;
        this.changed.emit(e);
    }

    render() {
        return (
            <div class="inputContainer">
                <input  
                    type="text"
                    value={this.value}
                    onInput={this.handleChange}
                />
            </div>
        )
    }
}
Run Code Online (Sandbox Code Playgroud)

然后尝试在 React jsx 文件中使用它后,onChanged 不会调用 console.log

...

function App() {
  return (
    <div className="App">
      // does not call console.log
      <ui-input onChanged={(e) => console.log(e)}/>
    </div>
  );
}


Run Code Online (Sandbox Code Playgroud)

正如我到目前为止所读到的,这是因为 React 使用合成事件而不是 Dom 事件。

有没有办法在 JSX 元素中使用 Dom 事件?

web-component eventemitter reactjs stenciljs

4
推荐指数
1
解决办法
2640
查看次数

如何在 Next.js 中的`getServerSideProps` 方法中使用 cookie?

我必须在端点上发送当前语言。但是从 Cookie 获取语言会返回 undefined inside getServerSideProps

export async function getServerSideProps(context) {
    const lang = await Cookie.get('next-i18next')
    const res = await fetch(`endpoint/${lang}`)
    const data = await res.json()

    return {
        props: { data },
    }
}

export default Index;
Run Code Online (Sandbox Code Playgroud)

将 cookie 放入内部的正确方法是什么getServerSideProps

提前致谢!

i18next next.js

3
推荐指数
4
解决办法
5459
查看次数