面试题答案
一键面试在Solid.js中,createSignal
用于创建响应式状态。实现父子组件间通信的方式如下:
- 父组件向子组件传递数据:父组件创建
signal
并将其值传递给子组件。 - 子组件更新父组件状态:子组件通过接收来自父组件传递的更新函数来更新父组件的状态。
以下是一个简单示例代码:
import { createSignal } from 'solid-js';
import { render } from'solid-js/web';
// 子组件
const Child = ({ count, setCount }) => {
return (
<div>
<p>子组件接收到的count: {count()}</p>
<button onClick={() => setCount(c => c + 1)}>子组件增加count</button>
</div>
);
};
// 父组件
const Parent = () => {
const [count, setCount] = createSignal(0);
return (
<div>
<p>父组件的count: {count()}</p>
<Child count={count} setCount={setCount} />
</div>
);
};
render(() => <Parent />, document.getElementById('app'));
在上述代码中:
Parent
组件使用createSignal
创建了count
状态和setCount
更新函数。Parent
组件将count
和setCount
传递给Child
组件。Child
组件可以读取count
的值并通过setCount
函数更新count
的值,从而实现父子组件间的通信。